Re: 2.1.90 oops to go, drive through

Michael L. Galbraith (mikeg@weiden.de)
Sun, 22 Mar 1998 06:46:56 +0100 (MET)


On Sat, 21 Mar 1998, Elliot Lee wrote:

> I run following program for ten seconds and got a nice set of gpf's.
>
> It creates them here, at least (I *hope* my custom egcs optimizations
> aren't the problem! :-)
>

Nope.. does it with stock egcs-2.91.14 too.

> Hope this helps find some problems - it's similar to crashme, but it
> directly tests random system calls instead of running random code.
> -- Elliot
> Chicken Little was right.
>

It ejected me from my system a couple of times before oopsing..
sys_exit works fine :)

general protection: b124
CPU: 0
EIP: 0010:[<c0109964>]
EFLAGS: 00010202
eax: 00000000 ebx: bffff5e8 ecx: c3d1bfc4 edx: 0000b124
esi: 0000b124 edi: c3d1bfbc ebp: c3d1bf90 esp: c3d1bf80
ds: 0018 es: 0018 ss: 0018
Process t (pid: 622, process nr: 33, stackpage=c3d1b000)
Stack: c3d1a000 c3d1bfc4 c3d1bfbc 1c358722 c3d1bfbc c0109bf3 c3d1bfc4 bffff5e8
c3d1a000 0d3be834 1c358722 bffff5e0 c3d1bfc4 00000000 bffffc0d bffff618
c010a561 65a72cbb 75e852f9 01fea3c7 0d3be834 1c358722 bffff618 00000077
Call Trace: [<c0109bf3>] (0) [<c010a561>] (44) [<ffffffff>] [<c01cbc4d>] 622 [<c01d776a>] 622 [<c01d87a5>] 622 [<c01ccc72>] 622 [<c01d7819>] 622 [<c01cef0e>] 622 [<c01cef93>] 622 [<c01cb3ed>] 622 [<c01d7819>] 622 [<c01cef0e>] 622 [<c011340b>] 622 [<c0115f
ab>] 622 [<c0210c0f>] 622 [<c0210a2a>] 622 [<c0210a67>] 622 [<c0210a67>] 622 [<c01cef93>] 622 [<c01cb3ed>] 622 [<c01d7819>] 622 [<c01cef0e>] 622 [<c011340b>] 622 [<c0115fab>] 622 [<c0210c0f>] 622 [<c0210a2a>] 622 [<c0210a67>] 622 [<c0210a67>] 622 [<c01cef
93>] 622 [<c01cb3ed>] 622 [<c01d7819>] 622 [<c01cef0e>] 622
Code: 8e ee 31 c0 66 8b 53 04 31 f6 66 89 d6 66 f7 c6 fc ff 74 18
Using `/boot/2.1.90/System.map' to map addresses to symbols.

>>EIP: c0109964 <restore_sigcontext+40/204>
Trace: c0109bf3 <sys_sigreturn+cb/e4>
Trace: c010a561 <system_call+41/50>
Trace: ffffffff
Trace: c01cbc4d <set_origin+d/6c>
Trace: c01d776a <__set_origin+12/5c>
Trace: c01d87a5 <clear_selection+d/54>
Trace: c01ccc72 <complement_pos+e/b0>
Trace: c01d7819 <set_cursor+11/b4>
Trace: c01cef0e <poke_blanked_console+e/80>
Trace: c01cef93 <vt_console_print+13/1b4>
Trace: c01cb3ed <vc_cons_allocated+d/2c>
Trace: c01d7819 <set_cursor+11/b4>
Trace: c01cef0e <poke_blanked_console+e/80>
Trace: c011340b <__wake_up+13/a0>
Trace: c0115fab <printk+13/18c>
Trace: c0210c0f <vsprintf+13/40c>
Trace: c0210a2a <skip_atoi+e/38>
Trace: c0210a67 <number+13/1a8>
Trace: c0210a67 <number+13/1a8>
Trace: c01cef93 <vt_console_print+13/1b4>
Trace: c01cb3ed <vc_cons_allocated+d/2c>
Trace: c01d7819 <set_cursor+11/b4>
Trace: c01cef0e <poke_blanked_console+e/80>
Trace: c011340b <__wake_up+13/a0>
Trace: c0115fab <printk+13/18c>
Trace: c0210c0f <vsprintf+13/40c>
Trace: c0210a2a <skip_atoi+e/38>
Trace: c0210a67 <number+13/1a8>
Trace: c0210a67 <number+13/1a8>
Trace: c01cef93 <vt_console_print+13/1b4>
Trace: c01cb3ed <vc_cons_allocated+d/2c>
Trace: c01d7819 <set_cursor+11/b4>
Trace: c01cef0e <poke_blanked_console+e/80>
Code: c0109964 <restore_sigcontext+40/204>
Code: c0109964 <restore_sigcontext+40/204> 8e ee movw %si,%gs
Code: c0109966 <restore_sigcontext+42/204> 31 c0 xorl %eax,%eax
Code: c0109968 <restore_sigcontext+44/204> 66 8b 53 04 movw 0x4(%ebx),%dx
Code: c010996c <restore_sigcontext+48/204> 31 f6 xorl %esi,%esi
Code: c0109974 <restore_sigcontext+50/204> 66 89 d6 movw %dx,%si
Code: c0109977 <restore_sigcontext+53/204> 66 f7 c6 fc ff testw $0xfffc,%si
Code: c010997c <restore_sigcontext+58/204> 74 18 je c0109990 <restore_sigcontext+6c/204>

(gdb) list *0xc0109964
0xc0109964 is in restore_sigcontext (signal.c:204).
199 && (tmp & 0x4) != 0x4 /* not a LDT selector */ \200 && (tmp & 3) != 3) /* not a RPL3 GDT selector */ \201 goto badframe; \202
__asm__ __volatile__("mov %w0,%%" #seg : : "r"(tmp)); }
203
204 GET_SEG(gs);

(gdb) list *0xc0109bf3
0xc0109bf3 is in sys_sigreturn (signal.c:259).
254 spin_lock_irq(&current->sigmask_lock);
255 current->blocked = set;
256 recalc_sigpending(current);
257 spin_unlock_irq(&current->sigmask_lock);
258
259 return restore_sigcontext(regs, &frame->sc);

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