general protection in 2.0.30

Dan Hollis (goemon@sasami.anime.net)
Sat, 19 Apr 1997 23:43:06 -0700 (PDT)


GP from Linux 2.0.30. This machine is a heavy dialup server (32 ports)
as well as squid/sendmail/web/etc.

general protection: 0000
CPU: 0
EIP: 0010:[<0481b614>]
EFLAGS: 00010286
eax: 00000000 ebx: 022d6e08 ecx: 00000005 edx: f000ef6f
esi: 00000006 edi: 0806335c ebp: 000005e0 esp: 02ac2f58
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process pppd.lcp (pid: 5603, process nr: 73, stackpage=02ac2000)
Stack: 01a93000 02da7680 004287e0 000005e0 00000005 0008d906 00163735 01a93000
02da7680 0806335a 000005e0 02da7680 00000000 000005e0 004287e0 001223e6
004287e0 02da7680 0806335a 000005e0 00e16018 00000005 08060e14 bffffdf0
Call Trace: [<00163735>] [<001223e6>] [<0010a54d>]
Code: 8a 52 20 88 54 24 14 ff 40 0c 8b 43 6c 8b 08 21 48 0c 0f b6

Using `../System.map' to map addresses to symbols.

Trace: 163735 <tty_read+9d/bc>
Trace: 1223e6 <sys_read+8a/b0>
Trace: 10a54d <system_call+55/7c>

Code: movb 0x20(%edx),%dl
Code: movb %dl,0x14(%esp,1)
Code: incl 0xc(%eax)
Code: movl 0x6c(%ebx),%eax
Code: movl (%eax),%ecx
Code: andl %ecx,0xc(%eax)
Code: movzbl (%eax),%eax
Code: nop
Code: nop
Code: nop

(gdb) l *0x0481b614
No source file for address 0x481b614.

(gdb) l *0x00163735
0x163735 is in tty_read (tty_io.c:751).
746 return -ERESTARTSYS;
747 }
748 #endif
749 if (tty->ldisc.read)
750 /* XXX casts are for what kernel-wide prototypes should be. */
751 i = (tty->ldisc.read)(tty,file,(unsigned char *)buf,(unsigned int)count);
752 else
753 i = -EIO;
754 if (i > 0)
755 inode->i_atime = CURRENT_TIME;

(gdb) l *0x001223e6
0x1223e6 is in sys_read (read_write.c:132).
127 if (error)
128 goto out;
129 error = verify_area(VERIFY_WRITE,buf,count);
130 if (error)
131 goto out;
132 error = file->f_op->read(inode,file,buf,count);
133 out:
134 fput(file, inode);
135 bad_file:
136 return error;

(gdb) l *0x0010a54d
No source file for address 0x10a54d.