OOPS kernel2.5.17 in vatfs?
Hi all When installing vmlinuz op a fat partinion i get a nice :-/ oops If you need more information please tell me.
Thanks Rene
ksymoops 2.4.5 on i586 2.5.17. Options used
-V (default)
-K (specified)
-L (specified)
-o /lib/modules/2.5.17/ (default)
-m /usr/src/linux/System.map (default)
-INo modules in ksyms, skipping objects
Unable to handle kernel NULL pointer dereference at virtual address 0000004c
c0161018
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[msdos_lookup+120/224] Not tainted
EFLAGS: 00010246
eax: 00000000 ebx: d23247c0 ecx: d3f32a68 edx: d23247d0
esi: d1bdf1e0 edi: d38bec00 ebp: d23247c0 esp: d2549e6c
ds: 0018 es: 0018 ss: 0018
Stack: d1bdf1e0 d23247c0 00000000 d1be0420 d1bde300 00001d98 fffffff4 d1bdf0dc
d1bdf080 c013aa0f d1bdf080 d23247c0 00000000 00000000 d2549f38 d3ff6520
c013acb8 d23246c0 d2549f00 00000004 d2549f00 00000000 d330900b d2549f38
Call Trace: [real_lookup+143/192] [do_lookup+280/416] [link_path_walk+424/2112] [__user_walk+42/64] [vfs_lstat+23/96]
Code: c7 40 4c 44 17 27 c0 89 c3 59 5e c7 04 24 00 00 00 00 8b 44Using defaults from ksymoops -t elf32-i386 -a i386
Quoted 7 lines
Quoted 7 lines
ebx;
d23247c0<END_OF_CODE+1202e464/????>
ecx;d3f32a68<END_OF_CODE+13c3c70c/????>
edx;d23247d0<END_OF_CODE+1202e474/????>
esi;d1bdf1e0<END_OF_CODE+118e8e84/????>
edi;d38bec00<END_OF_CODE+135c88a4/????>
ebp;d23247c0<END_OF_CODE+1202e464/????>
esp;d2549e6c<END_OF_CODE+12253b10/????>
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: c7 40 4c 44 17 27 c0 movl $0xc0271744,0x4c(%eax)
Code; 00000007 Before first symbol
7: 89 c3 mov %eax,%ebx
Code; 00000009 Before first symbol
9: 59 pop %ecx
Code; 0000000a Before first symbol
a: 5e pop %esi
Code; 0000000b Before first symbol
b: c7 04 24 00 00 00 00 movl $0x0,(%esp,1)
Code; 00000012 Before first symbol
12: 8b 44 00 00 mov 0x0(%eax,%eax,1),%eax
<1>Unable to handle kernel NULL pointer dereference at virtual address 0000004cc0161018
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[msdos_lookup+120/224] Not tainted
EFLAGS: 00010246
eax: 00000000 ebx: d2324740 ecx: d3f3e9e0 edx: d2324750
esi: d1bdf340 edi: d38bec00 ebp: d2324740 esp: d2549e6c
ds: 0018 es: 0018 ss: 0018
Stack: d1bdf340 d2324740 00000000 d1be0e20 d2031260 00028793 fffffff4 d1bdf23c
d1bdf1e0 c013aa0f d1bdf1e0 d2324740 00000000 00000000 d2549f38 d3ff6520
c013acb8 d23247c0 d2549f00 00000004 d2549f00 00000000 d2549f00 d2549f38
Call Trace: [real_lookup+143/192] [do_lookup+280/416] [link_path_walk+1148/2112] [__user_walk+42/64] [vfs_lstat+23/96]
Code: c7 40 4c 44 17 27 c0 89 c3 59 5e c7 04 24 00 00 00 00 8b 44Quoted 7 lines
Quoted 7 lines
ebx;
d2324740<END_OF_CODE+1202e3e4/????>
ecx;d3f3e9e0<END_OF_CODE+13c48684/????>
edx;d2324750<END_OF_CODE+1202e3f4/????>
esi;d1bdf340<END_OF_CODE+118e8fe4/????>
edi;d38bec00<END_OF_CODE+135c88a4/????>
ebp;d2324740<END_OF_CODE+1202e3e4/????>
esp;d2549e6c<END_OF_CODE+12253b10/????>
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: c7 40 4c 44 17 27 c0 movl $0xc0271744,0x4c(%eax)
Code; 00000007 Before first symbol
7: 89 c3 mov %eax,%ebx
Code; 00000009 Before first symbol
9: 59 pop %ecx
Code; 0000000a Before first symbol
a: 5e pop %esi
Code; 0000000b Before first symbol
b: c7 04 24 00 00 00 00 movl $0x0,(%esp,1)
Code; 00000012 Before first symbol
12: 8b 44 00 00 mov 0x0(%eax,%eax,1),%eax
--
Groeten / Regards, Rene J. Blokland
Quoted 3 lines · Rene Blokland
Hi all When installing vmlinuz op a fat partinion i get a nice :-/ oops If you need more information please tell me.
Thanks Rene
Probably, the following patch fixes this. NOTE, however I haven't even compiled this yet.
fs/vfat/namei.c renamed from fs/vfat/namei.c.orig +5 -9
@@ -1020,16 +1020,12 @@unlock_kernel (); dentry->d_op = &vfat_dentry_ops[table]; dentry->d_time = dentry->d_parent->d_inode->i_version; -if (inode) { - dentry =d_splice_alias (inode, dentry); -if (dentry) { - dentry->d_op = &vfat_dentry_ops[table]; - dentry->d_time = dentry->d_parent->d_inode->i_version; - } -return dentry; + dentry =d_splice_alias (inode, dentry); +if (dentry) { + dentry->d_op = &vfat_dentry_ops[table]; + dentry->d_time = dentry->d_parent->d_inode->i_version; } -d_add (dentry,inode); -return NULL ; +return dentry; }int vfat_create (struct inode *dir,struct dentry * dentry,int mode)
fs/msdos/namei.c renamed from fs/msdos/namei.c.orig +5 -10
@@ -221,22 +221,17 @@if (res) goto out; add: -if (inode) { - dentry =d_splice_alias (inode, dentry); - dentry->d_op = &msdos_dentry_operations; - }else { -d_add (dentry, inode); - dentry =NULL ; - } res =0 ; + dentry =d_splice_alias (inode, dentry); +if (dentry) + dentry->d_op = &msdos_dentry_operations; out:if (bh)fat_brelse (sb, bh);unlock_kernel (); -if (res) -return ERR_PTR (res); -else +if (!res)return dentry; +return ERR_PTR (res); }/***** Creates a directory entry (name is already formatted). */
Signature · 1 line
OGAWA Hirofumi <[email protected]>
Re: OOPS kernel2.5.17 in vatfs? !SOLVED!
In reply to Rene BloklandHi OGAWA Hirofumi san
This solves the oops pervect please sent it to Linus san Thank you for ypour help!
Quoted 46 lines · OGAWA Hirofumi
fs/vfat/namei.c renamed from fs/vfat/namei.c.orig +5
-9@@ -1020,16 +1020,12 @@unlock_kernel (); dentry->d_op = &vfat_dentry_ops[table]; dentry->d_time = dentry->d_parent->d_inode->i_version; -if (inode) { - dentry =d_splice_alias (inode, dentry); -if (dentry) { - dentry->d_op = &vfat_dentry_ops[table]; - dentry->d_time = dentry->d_parent->d_inode->i_version; - } -return dentry; + dentry =d_splice_alias (inode, dentry); +if (dentry) { + dentry->d_op = &vfat_dentry_ops[table]; + dentry->d_time = dentry->d_parent->d_inode->i_version; } -d_add (dentry,inode); -return NULL ; +return dentry; }int vfat_create (struct inode *dir,struct dentry * dentry,int mode)fs/msdos/namei.c renamed from fs/msdos/namei.c.orig +3
-7@@ -221,22 +221,17 @@if (res) goto out; add: -if (inode) { - dentry =d_splice_alias (inode, dentry); - dentry->d_op = &msdos_dentry_operations; - }else { -d_add (dentry, inode); - dentry =NULL ; - } res =0 ; + dentry =d_splice_alias (inode, dentry); +if (dentry) + dentry->d_op = &msdos_dentry_operations; out:if (bh)fat_brelse (sb, bh);
fs/msdos/namei.c line 237
Quoted 10 lines
fs/msdos/namei.c renamed from fs/msdos/namei.c.orig +2
-3unlock_kernel (); -if (res) -return ERR_PTR (res); -else +if (!res)return dentry; +return ERR_PTR (res); }/***** Creates a directory entry (name is already formatted). */
--
Groeten / Regards, Rene J. Blokland
Re: OOPS kernel2.5.17 in vatfs? !SOLVED!
In reply to Rene BloklandQuoted 1 line · Rene Blokland
Hi OGAWA Hirofumi san
Hi, Rene san :)
Quoted 2 lines
This solves the oops pervect please sent it to Linus san Thank you for ypour help!
Thanks for testing. I'll submit that patch at this weekend.
Signature · 1 line
OGAWA Hirofumi <[email protected]>