Crash in do_mount () in 2.3.99-pre4 while mounting rootfs.

From: Remi Turk (remi@a2zis.com)
Date: Thu Apr 13 2000 - 11:16:20 EST


Hi,

The 2.3.99-pre4 kernel hardlocks my system while mounting the rootfs.
Even SysRQ doesn't work anymore. It crashes in do_mount () at
line 938 of fs/super.c with a "Unable to handle kernel NULL pointer".
2.3.99-pre3 doesn't crash.

fs/super.c:
936 down(&mount_sem);
937 error = -ENOTDIR;
938 if (!S_ISDIR(dir_d->d_inode->i_mode))
939 goto dput_and_out;

d_inode points to 0000000f, which is an invalid address.

ver_linux output:
-- Versions installed: (if some fields are empty or look
-- unusual then possibly you have very old versions)
Linux localhost.localdomain 2.2.15pre17 #1 Mon Apr 3 19:53:17 CEST 2000 i586 unknown
Kernel modules 2.3.7
Gnu C egcs-2.91.66
Binutils 2.9.1.0.24
Linux C Library 2.1.2
Dynamic linker ldd (GNU libc) 2.1.2
Procps 2.0.4
Mount 2.9u
Net-tools 1.53
Console-tools 1999.03.02
Sh-utils 2.0
Modules Loaded

/proc/cpuinfo:
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 0
cpu MHz : 350.809722
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mmx 3dnow
bogomips : 699.60

ksymoops output:
ksymoops 0.7c on i586 2.2.15pre17. Options used
     -V (default)
     -K (specified)
     -L (specified)
     -o /lib/modules/2.3.99-pre4/ (specified)
     -m /usr/src/linux-2.3.99-pre4/System.map (specified)

No modules in ksyms, skipping objects
Unable to handle kernel NULL pointer dereference at virtual address 0000000f
c01353e2
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c01353e2>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: c0241adc ebx: c020d38d ecx: c0241ac0 edx: c020d388
esi: c0243da0 edi: ffffffec ebp: 00000007 esp: cfff1f74
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=cfff1000)
Stack: c020d38d c0243da0 ffffffed 00000000 c020d38d 0001ca30 c0135a2b 00000000
       c020d38d c020d388 c020ca30 00000000 c020d387 00000f00 c0257fcc c0105000
       00000e00 65642fe8 00000000 00000000 00000000 c026057c c020d38d c020d388
Call Trace: [<c020d38d>] [<c020d38d>] [<c0135a2b>] [<c020d38d>] [<c020d388>] [<c020ca30>] [<c020d387>]
       [<c0105000>] [<c020d38d>] [<c020d388>] [<c020ca30>] [<c020d387>] [<c010709b>] [<c0108e33>]
Code: 8b 45 08 66 8b 40 22 25 00 f0 ff ff 66 3d 00 40 0f 85 72 01

>>EIP; c01353e2 <do_mount+fa/304> <=====
Trace; c020d38d <devfsd_buf_size+961/6d34>
Trace; c020d38d <devfsd_buf_size+961/6d34>
Trace; c0135a2b <do_sys_mount+1cb/1f0>
Trace; c020d38d <devfsd_buf_size+961/6d34>
Trace; c020d388 <devfsd_buf_size+95c/6d34>
Trace; c020ca30 <devfsd_buf_size+4/6d34>
Trace; c020d387 <devfsd_buf_size+95b/6d34>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c020d38d <devfsd_buf_size+961/6d34>
Trace; c020d388 <devfsd_buf_size+95c/6d34>
Trace; c020ca30 <devfsd_buf_size+4/6d34>
Trace; c020d387 <devfsd_buf_size+95b/6d34>
Trace; c010709b <init+7/14c>
Trace; c0108e33 <kernel_thread+23/30>
Code; c01353e2 <do_mount+fa/304>
00000000 <_EIP>:
Code; c01353e2 <do_mount+fa/304> <=====
   0: 8b 45 08 movl 0x8(%ebp),%eax <=====
Code; c01353e5 <do_mount+fd/304>
   3: 66 8b 40 22 movw 0x22(%eax),%ax
Code; c01353e9 <do_mount+101/304>
   7: 25 00 f0 ff ff andl $0xfffff000,%eax
Code; c01353ee <do_mount+106/304>
   c: 66 3d 00 40 cmpw $0x4000,%ax
Code; c01353f2 <do_mount+10a/304>
  10: 0f 85 72 01 00 00 jne 188 <_EIP+0x188> c013556a <do_mount+282/304>

-
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/



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:21 EST