Readlink on non-existant file causes a oops!

James Mastros (root@jennifer-unix.dyn.ml.org)
Fri, 13 Feb 1998 17:40:44 -0500 (EST)


Hello all: I seem to have found a slight bug... Kernel version 2.1.86, no
funky config options (.config avaible upon request). It seems to be
independent of what fs the pathname is in... (I couldn't get ksymoops to
compile (with gcc 2.8, libg 2.8), so all the translation is by hand...)

Unable to handle kernel NULL pointer dereference at virtual address 00000006
current->tss.cr3 = 01703000, %cr3 = 01703000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0128efe>]
EFLAGS: 00010296
eax: fffffffe ebx: c1b78000 ecx: c131b7a0 edx: fffffffe
esi: fffffffe edi: 00000800 ebp: bffff2e4 esp: c1b79fa8
ds: 0018 es: 0018 ss: 0018
Process readlink (pid: 15312, process nr: 28, stackpage=c1b79000)
Stack: bffffc0f 00000000 c1b78000 4000b4e8 08048630 bffffae4 c0109ac8 bffffc0f
bffff2e4 00000800 4000b4e8 08048630 bffffae4 00000055 0000002b 0000002b
00000055 40072bf4 00000023 00000286 bffff2cc 0000002b
Call Trace: [<c0109ac8>]
Code: 8b 56 08 83 c4 08 89 e0 25 00 e0 ff ff 66 8b 80 e6 00 00 00

EIP -- sys_readlink
call trace -- ret_with_reschedule

code:

00000000 <_EIP> movl 0x8(%esi),%edx
00000003 <_EIP+3> addl $0x8,%esp
00000006 <_EIP+6> movl %esp,%eax
00000008 <_EIP+8> andl $0xffffe000,%eax
0000000d <_EIP+d> movw 0xe6(%eax),%ax
00000014 <_EIP+14>

-- 
"Assuming that piece of ear weighed about 1/2 an ounce, Bill [Gates] could
afford to eat 443.39 pounds of Evander Holyfield if he were so inclined."
	-=- http://web.quuxuum.org/~evan/bgnw.html

"Do not judge an idea by it's source, but by it's content." -=- Me

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu