Oops somewhere in VFS/get_fs_type()

Tigran Aivazian (tigran@sco.COM)
Tue, 19 Oct 1999 09:24:54 +0100 (BST)


Hi,

Correction to my earlier report. The code:

error = register_filesystem(&bfs_fs_type);
if (error)
return error;
fs = get_fs();
set_fs(get_ds());
bfs_fsindex = sysfs(1, (unsigned long)"bfs", 0);
set_fs(fs);

Ooops on module autoload *only* if one misspelled the "bfs" argument to
sysfs() as something else, e.g. "ufs" (and no "ufs" filesystem is
registered). When trying to load bfs manually it works (i.e.
sysfs(1,"ufs",0) fails correctly and module is *not* loaded).

Still, it is a bug so here is the ksymoops output.

ksymoops 0.7c on i686 2.3.22. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.3.22/ (default)
-m /usr/src/linux/System.map (default)

Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.

Unable to handle kernel paging request at virtual address f881a72c
c0131ac0
*pde = 0000e063
Oops: 0000
CPU: 1
EIP: 0010:[<c0131ac0>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010282
eax: 00000001 ebx: f881a72c ecx: 00000000 edx: c3c7e000
esi: c01d2021 edi: c3505001 ebp: c3505000 esp: c3c7ff28
ds: 0018 es: 0018 ss: 0018
Process mount (pid: 267, stackpage=c3c7f000)
Stack: 08056f28 bffffb30 c013292d c3505000 c3c7e000 c0ed0000 08056f58 bffffb30
c0ed0000 c3c7ff64 c3c7e000 c3c7e000 00000000 00000000 c0015d60 c3505000
00000000 c39813e4 00000000 08052262 c3c7e000 400f9528 c3b89300 c0111ed6
Call Trace: [<c013292d>] [<c0111ed6>] [<c0109b35>] [<c0109a24>]
Code: 8b 33 89 ef fc ac ae 75 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c

>>EIP; c0131ac0 <get_fs_type+58/80> <=====
Trace; c013292d <sys_mount+111/374>
Trace; c0111ed6 <do_page_fault+16e/498>
Trace; c0109b35 <error_code+2d/34>
Trace; c0109a24 <system_call+34/38>
Code; c0131ac0 <get_fs_type+58/80>
00000000 <_EIP>:
Code; c0131ac0 <get_fs_type+58/80> <=====
0: 8b 33 movl (%ebx),%esi <=====
Code; c0131ac2 <get_fs_type+5a/80>
2: 89 ef movl %ebp,%edi
Code; c0131ac4 <get_fs_type+5c/80>
4: fc cld
Code; c0131ac5 <get_fs_type+5d/80>
5: ac lodsb %ds:(%esi),%al
Code; c0131ac6 <get_fs_type+5e/80>
6: ae scasb %es:(%edi),%al
Code; c0131ac7 <get_fs_type+5f/80>
7: 75 08 jne 11 <_EIP+0x11> c0131ad1 <get_fs_type+69/80>
Code; c0131ac9 <get_fs_type+61/80>
9: 84 c0 testb %al,%al
Code; c0131acb <get_fs_type+63/80>
b: 75 f8 jne 5 <_EIP+0x5> c0131ac5 <get_fs_type+5d/80>
Code; c0131acd <get_fs_type+65/80>
d: 31 c0 xorl %eax,%eax
Code; c0131acf <get_fs_type+67/80>
f: eb 04 jmp 15 <_EIP+0x15> c0131ad5 <get_fs_type+6d/80>
Code; c0131ad1 <get_fs_type+69/80>
11: 19 c0 sbbl %eax,%eax
Code; c0131ad3 <get_fs_type+6b/80>
13: 0c 00 orb $0x0,%al

1 warning issued. Results may not be reliable.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/