> First oops in a while.
>
> This is with 2.0.25 on a Pentium 60.
>
> Probably my cheap RAM.
Probably. See below..
> eax: 00a34cb4 ebx: 002dc810 ecx: 00000000 edx: 04000000
^^^^^^^^^^^^^
This is the whole sequence of assembly (in my vmlinux):
001119cc <do_fork+314> movl $0x100,0x10(%esp,1)
001119d4 <do_fork+31c> movl 0x0(%ebp),%edx
001119d7 <do_fork+31f> addl $0x4,%ebp
001119da <do_fork+322> movl %edx,(%eax)
001119dc <do_fork+324> addl $0x4,%eax
001119df <do_fork+327> testl %edx,%edx
001119e1 <do_fork+329> je 001119e7 <do_fork+32f>
001119e3 <do_fork+32b> incw 0xe(%edx)
001119e7 <do_fork+32f> decl 0x10(%esp,1)
001119eb <do_fork+333> jne 001119d4 <do_fork+31c>
The oops occurs on incw; now obviously 0x04000000 is not a valid pointer
and it should have been 0, in which case the testl/je sequence would have
avoided the incw. Again, 0x04000000 differs from 0 by just one bit.. and
it's been loaded from memory/cache at <do_fork+322>, so bad memory is
definitely something to look into...
Ionut
-- It is better to keep your mouth shut and be thought a fool, than to open it and remove all doubt.