[linux-cifs-client] (no subject)

Gorazd Golob gorazdg at noviforum.si
Mon Dec 13 21:09:43 GMT 2004


Hi!

I just had another crash on newest cifs code (from bk 3 hours ago)..
java process was reading from cifs mount point - xp on other side. Here is
a dmesg (I'm sorry I didn't have set debug in cifsFYI .. I'll try to make
also one.. didn't need much time to crash it).
Under dmesg snip in kernel oops with ksymoops

--- dmesg ----
 CIFS VFS: mounting share using direct i/o
 CIFS VFS: Rcvd Request not response
 CIFS VFS: bad smb detected. The Mid=0
 CIFS VFS: Invalid size or format for SMB found with length 13 and
pdu_length 4164
Received Data is: : dump of 40 bytes of data at 0xeb370d80

 40100000 424d53ff 0000002e 00000000 . . . @ ÿ S M B . . . . . . . .
 00000000 00000000 00000000 00000000 . . . . . . . . . . . . . . . .
 00000000 00000000 . . . . . . . .
 CIFS VFS: No response buffer
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response buffer
 CIFS VFS: Send error in read = -11
Unable to handle kernel NULL pointer dereference at virtual address
00000031
 printing eip:
c01bb794
*pde = 00000000
Oops: 0000 [#1]
SMP
Modules linked in:
CPU:    0
EIP:    0060:[<c01bb794>]    Not tainted VLI
EFLAGS: 00010282   (2.6.10-rc3)
 CIFS VFS: Send error in read = -9
eax: 00000000   ebx: 00001004   ecx: 00000053   edx: c0351420
esi: f5c9ae00   edi: 0034f358   ebp: 0000a028   esp: f56bff48
ds: 007b   es: 007b   ss: 0068
Process java (pid: 5368, threadinfo=f56be000 task=ee6ffa60)
Stack: 00000000 f7f32a60 081a37b0 f71b0be0 fffffff5 00000000 00000000
00000000
       f4ba1920 f56bffac 00019000 c0140990 f4ba1920 08199788 00019000
f56bffac
       f4ba1920 fffffff7 00019000 f56be000 c0140b89 f4ba1920 08199788
00019000
Call Trace:
 [<c0140990>]
 [<c0140b89>]
 [<c0102ad7>]
Code: 14 50 8b 4c 24 40 ff 71 04 ff 31 53 8b 54 24 14 0f b7 42 18 50 56 57
e8 88 2a ff ff 89 44 24 2c 8b 44 24 34 83 c4 20 ff 74 24 10 <0f> b7 50 31
8d 44 02 04 50 ff 74 24 0c e8 34
<3> CIFS VFS: Send error in read = -9
60 01 00 83 c4 0c
 <3> CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in read = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9
 CIFS VFS: Send error in Close = -9

--- dmesg with ksymoops --

>>EIP; c01bb794 <cifs_user_read+14e/241>   <=====

>>edx; c0351420 <table+0/20>
>>esi; f5c9ae00 <pg0+35894e00/3fbf8400>
>>esp; f56bff48 <pg0+352b9f48/3fbf8400>

Trace; c0140990 <vfs_read+96/c0>
Trace; c0140b89 <sys_read+3b/63>
Trace; c0102ad7 <syscall_call+7/b>

This architecture has variable length instructions, decoding before eip
is unreliable, take these instructions with a pinch of salt.

Code;  c01bb75a <cifs_user_read+114/241>
00000000 <_EIP>:
Code;  c01bb75a <cifs_user_read+114/241>
   0:   14 50                     adc    $0x50,%al
Code;  c01bb75c <cifs_user_read+116/241>
   2:   8b 4c 24 40               mov    0x40(%esp),%ecx
Code;  c01bb760 <cifs_user_read+11a/241>
   6:   ff 71 04                  pushl  0x4(%ecx)
Code;  c01bb763 <cifs_user_read+11d/241>
   9:   ff 31                     pushl  (%ecx)
Code;  c01bb765 <cifs_user_read+11f/241>
   b:   53                        push   %ebx
Code;  c01bb766 <cifs_user_read+120/241>
   c:   8b 54 24 14               mov    0x14(%esp),%edx
Code;  c01bb76a <cifs_user_read+124/241>
  10:   0f b7 42 18               movzwl 0x18(%edx),%eax
Code;  c01bb76e <cifs_user_read+128/241>
  14:   50                        push   %eax
Code;  c01bb76f <cifs_user_read+129/241>
  15:   56                        push   %esi
Code;  c01bb770 <cifs_user_read+12a/241>
  16:   57                        push   %edi
Code;  c01bb771 <cifs_user_read+12b/241>
  17:   e8 88 2a ff ff            call   ffff2aa4 <_EIP+0xffff2aa4>
Code;  c01bb776 <cifs_user_read+130/241>
  1c:   89 44 24 2c               mov    %eax,0x2c(%esp)
Code;  c01bb77a <cifs_user_read+134/241>
  20:   8b 44 24 34               mov    0x34(%esp),%eax
Code;  c01bb77e <cifs_user_read+138/241>
  24:   83 c4 20                  add    $0x20,%esp
Code;  c01bb781 <cifs_user_read+13b/241>
  27:   ff 74 24 10               pushl  0x10(%esp)
Code;  c01bb785 <cifs_user_read+13f/241>
  2b:   0f b7 50 31               movzwl 0x31(%eax),%edx
Code;  c01bb789 <cifs_user_read+143/241>
  2f:   8d 44 02 04               lea    0x4(%edx,%eax,1),%eax
Code;  c01bb78d <cifs_user_read+147/241>
  33:   50                        push   %eax
Code;  c01bb78e <cifs_user_read+148/241>
  34:   ff 74 24 0c               pushl  0xc(%esp)
Code;  c01bb792 <cifs_user_read+14c/241>
  38:   e8                        .byte 0xe8
Code;  c01bb793 <cifs_user_read+14d/241>
  39:   34                        .byte 0x34

This decode from eip onwards should be reliable

Code;  c01bb794 <cifs_user_read+14e/241>
00000000 <_EIP>:
Code;  c01bb794 <cifs_user_read+14e/241>   <=====
   0:   00 00                     add    %al,(%eax)   <=====
Code;  c01bb796 <cifs_user_read+150/241>
   2:   00 00                     add    %al,(%eax)




More information about the linux-cifs-client mailing list