Re: [git pull] core, x86: make LIST_POISON less deadly

From: Andi Kleen
Date: Mon Jul 14 2008 - 14:34:20 EST


Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:
>
>> We dont do any instruction decoding in #GP handlers to figure out what
>> happened, while in the pagefault case we know which address faulted,
>> etc.
>
> Why would we care? It would be very obvious from the instruction
> disassembly plus the register contents. No need to decode instructions.

The issue is that the kernel cannot detect it (short of running the
KVM x86 emulator on #GP, but surely you're not suggesting that), so it
cannot print something out.

You would always need someone skilled in x86 assembler code
[a lot of kernel developers actually aren't]
to look at the oops and say: ok it was a bad list poison.

Currently it is very obvious because the fault address is printed
even if you don't know any x86 assembler.

I would consider that a regression.

That is why I suggested using a canonical address.

Also BTW if a CPU ever supports more than 40 bits virtual there
will be so many kernel changes needed (5 level page tables) that
changing the poison too is the smallest of your worries.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/