Subject: Re: we_re_toast: kdb_trap() in trap.c
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: port-i386
Date: 06/22/1999 11:10:30
> What's the matter here? Based on a quick look at the code, this
> appears to be some failure mode proceeding from an ordinary page fault.
> What's not clear is why this page fault failed when most page faults
> work fine. It appears to be for address zero, but if dereferencing
> address zero were all it took to produce this, it would have been
> caught long since.
Looks like a page fault in kernel mode due to a bogus pointer
dereference in sys_dup2():
> Stopped in cpp at _sys_dup2+0x37: xorl %esp,0x34(%edi)
The instruction looks a little .. wierd, at least out of context.
xor of the stack pointer into the memory location at address
%edi+0x34 (!!!?)
my kernel has, at that location:
(gdb) x/i sys_dup2+0x37
0xf018bb53 <sys_dup2+55>: xorl %edx,%edx
Possible corrupted kernel text, maybe?
- Bill