Re: Linux 2.6.22-rc2

Linus Torvalds
2007-05-23T00:00:35Z

On Tue, 22 May 2007, Mike Houston wrote:
>
> In this case I actually had the kernel crash. First time for me ever
> having a kernel oops! System locked up with keyboard LED's blinking.
>
> Not sure if anyone wants to see all of it (maybe some screwy
> userland stuff involved), so I won't include that mess in the
> message. It's here:
> http://www.mikeserv.org/files/kernelcrash.txt

I think you have major memory corruption. That first oops disassembles to

mov 0x10(%eax),%esi
mov $0xfffffdfd,%eax
test %esi,%esi
je after_call
mov %edx,%ecx
mov %edi,%eax
mov %ebx,%edx
call *%esi
after_call:

which is (from net/ipv4/af_inet.c, inet_ioctl()):

default:
if (sk->sk_prot->ioctl)
err = sk->sk_prot->ioctl(sk, cmd, arg);
else
err = -ENOIOCTLCMD;
break;

and the load off "sk->sk_prot->ioctl" oopses, because "sk->sk_prot" is
corrupt and contains 0x8e3cad42, which is not a valid kernel pointer.

The other oops is even worse.

I also think it meshes with

sky2 eth0: descriptor error q=0x280 get=285 [800042375e2e5e] put=285

and I suspect your memory got corrupted by sky2 reading the wrong
descriptors, and overwriting kernel memory.

So it's almost certainly some DMA problem. Now, _why_ you have DMA
problems, I have no idea. But can you try:
- disable CONFIG_PREEMPT
- disable CONFIG_HIGHMEM if you have it on
- just in general see if you can disable any kernel config options that
might be unnecessary.
to see if it changes the situation at all..

Linus