Messages in this thread | | | Subject | Re: [git pull] core, x86: make LIST_POISON less deadly | From | Andi Kleen <> | Date | Mon, 14 Jul 2008 20:33:23 +0200 |
| |
Linus Torvalds <torvalds@linux-foundation.org> 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
| |