Bug 1628 - Oops in cifs_close (FC2/2.6.8.1)
Summary: Oops in cifs_close (FC2/2.6.8.1)
Status: RESOLVED FIXED
Alias: None
Product: CifsVFS
Classification: Unclassified
Component: kernel fs (show other bugs)
Version: 2.6
Hardware: x86 Linux
: P3 normal
Target Milestone: ---
Assignee: Steve French
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-18 09:42 UTC by Suresh Gopalakrishnan
Modified: 2005-04-02 22:54 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Suresh Gopalakrishnan 2004-08-18 09:42:56 UTC
(This was reported on the linux-cifs-client mailing list, posting here per 
Steve's suggestion.)

Running dbench on a cifs mount as follows:
./dbench -c ./client_plain.txt 4
there was an oops as shown below - it seems to be in cifs_close. 

Please let me know if there's a fix for this.

Thanks
--suresh

-------------------------------------------------------------------------------
ksymoops 2.4.9 on i686 2.6.8.1.  Options used
     -v /usr/src/linux/vmlinux (specified)
     -K (specified)
     -l /proc/modules (default)
     -o /lib/modules/2.6.8.1/ (default)
     -m /usr/src/linux/System.map (default)

No modules in ksyms, skipping objects
No ksyms, skipping lsmod
CPU 0 irqstacks, hard=c07ad000 soft=c078d000
CPU 1 irqstacks, hard=c07ae000 soft=c078e000
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:00:09.0: 3Com PCI 3c905C Tornado at 0xec00. Vers LK1.1.19
Unable to handle kernel paging request at virtual address d1102f7c
c026dcfe
*pde = 00044067
Oops: 0002 [#1]
CPU:    1
EIP:    0060:[<c026dcfe>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246   (2.6.8.1) 
Unable to handle kernel paging request at virtual address d1102f7c
c026dcfe
*pde = 00044067
eax: d1102f78   ebx: d240df78   ecx: d240df80   edx: d910ae00
esi: da10ff88   edi: da10ff5c   ebp: d6640f54   esp: d6640f40
ds: 007b   es: 007b   ss: 0068
Stack: 001aeae4 00000000 da10ff5c dff7fe90 cfa83e9c d6640f74 c0162b36 cfa83e9c 
       da10ff5c d1854f64 da10ff5c 00000000 d3844e54 d6640f98 c0161254 da10ff5c 
       d3844e54 da10ff5c d3844e54 d3844e54 00000006 d3844e58 d6640fbc c01612fa 
Call Trace:
 [<c0108595>] show_stack+0x75/0x90
 [<c01086f5>] show_registers+0x125/0x180
 [<c0108870>] die+0x90/0x140
 [<c0119890>] do_page_fault+0x290/0x5a4
 [<c01081ed>] error_code+0x2d/0x40
 [<c0162b36>] __fput+0xf6/0x110
 [<c0161254>] filp_close+0x44/0x70
 [<c01612fa>] sys_close+0x7a/0xf0
 [<c0107149>] sysenter_past_esp+0x52/0x79
Code: 89 50 04 c7 43 04 00 02 20 00 f0 81 47 2c 00 00 00 01 8b 43 


>>EIP; c026dcfe <cifs_close+de/1f0>   <=====

>>eax; d1102f78 <pg0+107f8f78/3f6f4000>
>>ebx; d240df78 <pg0+11b03f78/3f6f4000>
>>ecx; d240df80 <pg0+11b03f80/3f6f4000>
>>edx; d910ae00 <pg0+18800e00/3f6f4000>
>>esi; da10ff88 <pg0+19805f88/3f6f4000>
>>edi; da10ff5c <pg0+19805f5c/3f6f4000>
>>ebp; d6640f54 <pg0+15d36f54/3f6f4000>
>>esp; d6640f40 <pg0+15d36f40/3f6f4000>

Trace; c0108595 <show_stack+75/90>
Trace; c01086f5 <show_registers+125/180>
Trace; c0108870 <die+90/140>
Trace; c0119890 <do_page_fault+290/5a4>
Trace; c01081ed <error_code+2d/40>
Trace; c0162b36 <__fput+f6/110>
Trace; c0161254 <filp_close+44/70>
Trace; c01612fa <sys_close+7a/f0>
Trace; c0107149 <sysenter_past_esp+52/79>

Code;  c026dcfe <cifs_close+de/1f0>
00000000 <_EIP>:
Code;  c026dcfe <cifs_close+de/1f0>   <=====
   0:   89 50 04                  mov    %edx,0x4(%eax)   <=====
Code;  c026dd01 <cifs_close+e1/1f0>
   3:   c7 43 04 00 02 20 00      movl   $0x200200,0x4(%ebx)
Code;  c026dd08 <cifs_close+e8/1f0>
   a:   f0 81 47 2c 00 00 00      lock addl $0x1000000,0x2c(%edi)
Code;  c026dd0f <cifs_close+ef/1f0>
  11:   01 
Code;  c026dd10 <cifs_close+f0/1f0>
  12:   8b 43 00                  mov    0x0(%ebx),%eax

 <1>Oops: 0002 [#2]
CPU:    0
EIP:    0060:[<c026dcfe>]    Not tainted
EFLAGS: 00010246   (2.6.8.1) 
eax: d1102f78   ebx: d16c0f78   ecx: d16c0f80   edx: d910ae00
esi: d0ef4f88   edi: d0ef4f5c   ebp: d4ee2f54   esp: d4ee2f40
ds: 007b   es: 007b   ss: 0068
Stack: 001aeb5a 00000000 d0ef4f5c dff7fe90 d2149e9c d4ee2f74 c0162b36 d2149e9c 
       d0ef4f5c cfdf0f64 d0ef4f5c 00000000 d665ae54 d4ee2f98 c0161254 d0ef4f5c 
       d665ae54 d0ef4f5c d665ae54 d665ae54 00000005 d665ae58 d4ee2fbc c01612fa 
Call Trace:
 [<c0108595>] show_stack+0x75/0x90
 [<c01086f5>] show_registers+0x125/0x180
 [<c0108870>] die+0x90/0x140
 [<c0119890>] do_page_fault+0x290/0x5a4
 [<c01081ed>] error_code+0x2d/0x40
 [<c0162b36>] __fput+0xf6/0x110
 [<c0161254>] filp_close+0x44/0x70
 [<c01612fa>] sys_close+0x7a/0xf0
 [<c0107149>] sysenter_past_esp+0x52/0x79
Code: 89 50 04 c7 43 04 00 02 20 00 f0 81 47 2c 00 00 00 01 8b 43 


>>EIP; c026dcfe <cifs_close+de/1f0>   <=====

>>eax; d1102f78 <pg0+107f8f78/3f6f4000>
>>ebx; d16c0f78 <pg0+10db6f78/3f6f4000>
>>ecx; d16c0f80 <pg0+10db6f80/3f6f4000>
>>edx; d910ae00 <pg0+18800e00/3f6f4000>
>>esi; d0ef4f88 <pg0+105eaf88/3f6f4000>
>>edi; d0ef4f5c <pg0+105eaf5c/3f6f4000>
>>ebp; d4ee2f54 <pg0+145d8f54/3f6f4000>
>>esp; d4ee2f40 <pg0+145d8f40/3f6f4000>

Trace; c0108595 <show_stack+75/90>
Trace; c01086f5 <show_registers+125/180>
Trace; c0108870 <die+90/140>
Trace; c0119890 <do_page_fault+290/5a4>
Trace; c01081ed <error_code+2d/40>
Trace; c0162b36 <__fput+f6/110>
Trace; c0161254 <filp_close+44/70>
Trace; c01612fa <sys_close+7a/f0>
Trace; c0107149 <sysenter_past_esp+52/79>

Code;  c026dcfe <cifs_close+de/1f0>
00000000 <_EIP>:
Code;  c026dcfe <cifs_close+de/1f0>   <=====
   0:   89 50 04                  mov    %edx,0x4(%eax)   <=====
Code;  c026dd01 <cifs_close+e1/1f0>
   3:   c7 43 04 00 02 20 00      movl   $0x200200,0x4(%ebx)
Code;  c026dd08 <cifs_close+e8/1f0>
   a:   f0 81 47 2c 00 00 00      lock addl $0x1000000,0x2c(%edi)
Code;  c026dd0f <cifs_close+ef/1f0>
  11:   01 
Code;  c026dd10 <cifs_close+f0/1f0>
  12:   8b 43 00                  mov    0x0(%ebx),%eax
-------------------------------------------------------------------------------
Comment 1 Clemens Schwaighofer 2005-02-09 20:06:12 UTC
I have got the same oops on a Debian/Unstable with a self compiled 2.6.8.1

oops(es):

Feb  7 18:17:07 ramen kernel: c02180d4
Feb  7 18:17:07 ramen kernel: SMP
Feb  7 18:17:07 ramen kernel: Modules linked in: loop ntfs appletalk ipx p8022
psnap llc usbcore
Feb  7 18:17:07 ramen kernel: CPU:    1
Feb  7 18:17:07 ramen kernel: EIP:    0060:[cifs_readdir+2401/3445]    Not tainted
Feb  7 18:17:07 ramen kernel: EFLAGS: 00010246   (2.6.8.1)
Feb  7 18:17:07 ramen kernel: EIP is at cifs_readdir+0x961/0xd75
Feb  7 18:17:07 ramen kernel: eax: c050c480   ebx: d3b79f4c   ecx: f7db1340  
edx: 91982a8e
Feb  7 18:17:07 ramen kernel: esi: 00000000   edi: e9048bce   ebp: d3b79f68  
esp: d3b79ee0
Feb  7 18:17:07 ramen kernel: ds: 007b   es: 007b   ss: 0068
Feb  7 18:17:07 ramen kernel: Process smbd (pid: 30224, threadinfo=d3b78000
task=cbc4b290)
Feb  7 18:17:07 ramen kernel: Stack: d3b79f4c e70d41e0 cc0e8480 c050c480
d3b79fa0 c050c480 d3b79f34 d3b79f38
Feb  7 18:17:07 ramen kernel:        00000001 000003e9 e70d4000 91982a8e
c229ab00 dec6bb80 f7db1340 00000009
Feb  7 18:17:07 ramen kernel:        00004000 000c0451 00000000 4204f254
33390598 00000001 00000000 000a1800
Feb  7 18:17:07 ramen kernel: Call Trace:
Feb  7 18:17:07 ramen kernel:  [show_stack+128/150] show_stack+0x80/0x96
Feb  7 18:17:07 ramen kernel:  [show_registers+351/430] show_registers+0x15f/0x1ae
Feb  7 18:17:07 ramen kernel:  [die+141/251] die+0x8d/0xfb
Feb  7 18:17:07 ramen kernel:  [do_page_fault+708/1390] do_page_fault+0x2c4/0x56e
Feb  7 18:17:07 ramen kernel:  [error_code+45/56] error_code+0x2d/0x38
Feb  7 18:17:07 ramen kernel:  [vfs_readdir+150/177] vfs_readdir+0x96/0xb1
Feb  7 18:17:07 ramen kernel:  [sys_getdents64+109/166] sys_getdents64+0x6d/0xa6
Feb  7 18:17:07 ramen kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Feb  7 18:17:07 ramen kernel: Code: 8b 42 3c d1 e8 89 44 24 08 89 d0 83 c0 40 89
44 24 04 89 04
Feb  7 18:17:27 ramen kernel:  <3> CIFS VFS: Error 0xffffffec or on
cifs_get_inode_info in lookup

Feb  9 07:59:17 ramen -- MARK --
Feb  9 08:05:22 ramen kernel: c02180d4
Feb  9 08:05:22 ramen kernel: SMP
Feb  9 08:05:22 ramen kernel: Modules linked in: loop ntfs appletalk ipx p8022
psnap llc usbcore
Feb  9 08:05:22 ramen kernel: CPU:    1
Feb  9 08:05:22 ramen kernel: EIP:    0060:[cifs_readdir+2401/3445]    Not tainted
Feb  9 08:05:22 ramen kernel: EFLAGS: 00010246   (2.6.8.1)
Feb  9 08:05:22 ramen kernel: EIP is at cifs_readdir+0x961/0xd75
Feb  9 08:05:22 ramen kernel: eax: c050c480   ebx: d1371f4c   ecx: f7db1340  
edx: 9542b9d7
Feb  9 08:05:22 ramen kernel: esi: 00000000   edi: d0fcf1c6   ebp: d1371f68  
esp: d1371ee0
Feb  9 08:05:22 ramen kernel: ds: 007b   es: 007b   ss: 0068
Feb  9 08:05:22 ramen kernel: Process find (pid: 32008, threadinfo=d1370000
task=daf5c330)
Feb  9 08:05:22 ramen kernel: Stack: d1371f4c e987cf28 c99ee080 c050c480
d1371fa0 c050c480 d1371f34 d1371f38
Feb  9 08:05:22 ramen kernel:        00000001 000003e9 e987c000 9542b9d7
d88c5100 d0fcfb80 f7db1340 0000002a
Feb  9 08:05:22 ramen kernel:        00004000 000ffaf5 00000000 4204f243
03b9aca0 00000001 00000000 00291802
Feb  9 08:05:22 ramen kernel: Call Trace:
Feb  9 08:05:22 ramen kernel:  [show_stack+128/150] show_stack+0x80/0x96
Feb  9 08:05:22 ramen kernel:  [show_registers+351/430] show_registers+0x15f/0x1ae
Feb  9 08:05:22 ramen kernel:  [die+141/251] die+0x8d/0xfb
Feb  9 08:05:22 ramen kernel:  [do_page_fault+708/1390] do_page_fault+0x2c4/0x56e
Feb  9 08:05:22 ramen kernel:  [error_code+45/56] error_code+0x2d/0x38
Feb  9 08:05:22 ramen kernel:  [vfs_readdir+150/177] vfs_readdir+0x96/0xb1
Feb  9 08:05:22 ramen kernel:  [sys_getdents64+109/166] sys_getdents64+0x6d/0xa6
Feb  9 08:05:22 ramen kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Feb  9 08:05:22 ramen kernel: Code: 8b 42 3c d1 e8 89 44 24 08 89 d0 83 c0 40 89
44 24 04 89 04
Comment 2 Steve French 2005-03-07 21:19:08 UTC
This is likely fixed in the big cifs merge that went into 2.6.10 
Comment 3 Steve French 2005-04-02 22:54:23 UTC
This patch should fix the last hole in cifs_close

http://cifs.bkbits.net:8080/linux-2.5cifs/gnupatch@424f86c1GG9cVtTEaLzyAGIQKVBbfQ

It will be sent off for 2.6.12, and a patch (or at least replacement files for
fs/cifs directory) will be made available in linux-cifs-client SVN for 2.6.8
kernels within a few days (it will be in version 1.32 of the cifs vfs).