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
--