public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: MingJie Chang <mingjie.tw@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: question about sockfd_lookup( )
Date: Tue, 1 Mar 2005 14:02:05 +0800	[thread overview]
Message-ID: <8b46b8f1050228220257173ddf@mail.gmail.com> (raw)

Dear all,

I want to get socket information by the sockfd while accetping,

so I write a module to test sockfd_lookup(),

but I got some problems when I test it.

I hope someone can help me...

Thank you

following text is my code and error message
===========================================
=== code ===

int my_socketcall(int call,unsigned long *args)  
{
   int ret,err;
   struct socket * sock;

   ret = run_org_socket_call(call,args);   //orignal sys_sockcall()
   
   if(call==SYS_ACCEPT&&ret>=0) 
   {
          sock=sockfd_lookup(ret,&err);
          printk("lookup done\n");
   }
   return ret;
}


======================================
=== test and state ===

after inserting module, I use "ftp localhost" to test it.

And it has some error when I use "ls" or "mget"(I just try the 2 commands)

EX1: ls  :file list is printed, but it will block until ctrl + c

ftp> ls
227 Entering Passive Mode (127,0,0,1,68,186)
150 Here comes the directory listing.
-rwxr-xr-x    1 0        0           13744 Feb 28 05:22 socktest
-rw-r--r--    1 501      0           76288 Feb 27 19:05 vsftpd-1.1.0-1.i386.rpm
-rw-------    1 501      0            3778 Feb 27 19:29 vsftpd.conf
(blocking until ctrl+c)

after ctrl+c
receive aborted
waiting for remote to finish abort
226 Directory send OK.
500 Unknown command.
663 bytes received in 51 secs (0.013 Kbytes/sec)

ftp>
------------------------------------------------------------
EX2:mget: block until ctrl + c ,and file is not got

ftp> mget *
(blocking until ctrl+c)
receive aborted
waiting for remote to finish abort
Unknown command.

ftp>
(file is not got)

==================================================
== kernel message ==
and than I remove the module, try to ftp localhost again, 
and kernel will print some messages

Unable to handle kernel paging request at virtual address c845a089
 printing eip:
c845a089
*pde=02ab4067(01194067)
*pte=00000000(00000000)
Oops: 0000
CPU:    0
EIP:    0819:[<c845a089>]    Not tainted
EFLAGS: 00213296
eax: 00000004   ebx: c6f18000   ecx: 00000004   edx: 00000004
esi: 00000005   edi: ffffffff   ebp: c6f19fbc   esp: c6f19f94
ds: 0821   es: 0821   ss: 0821
Process vsftpd (pid: 606, stackpage=c6f19000)<1>
Stack: 00000005 bffffb80 00000000 00000000 c6f18000 00000000 00000000 c6f18000
       c6f18000 00000004 bffffc58 c00ae4eb 00000005 bffffb80 bffffc30 00000004
       ffffffff bffffc58 00000066 00000833 00000833 00000066 420daa02 0000082b
Call Trace: [<c00ae4eb>]

==================
End of mail

             reply	other threads:[~2005-03-01  6:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-01  6:02 MingJie Chang [this message]
2005-03-01  7:56 ` question about sockfd_lookup( ) Eric Dumazet
2005-03-01 10:08   ` MingJie Chang
2005-03-02  5:22   ` MingJie Chang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b46b8f1050228220257173ddf@mail.gmail.com \
    --to=mingjie.tw@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox