I think the _real_ issue with that patch is that %cr2 is by no means
architecturally even guaranteed to work the way the patches want it to
work.
It's simply not a general-purpose register, and I don't see why it is
assumed to be (a) fast (b) stable and (c) writable.
I could well imagine a x86-compatible chip where %cr2 isn't even
writable. In fact, reading the intel documentation, I see _nowhere_ a
mention of %cr2 being writable at all - it all just says "contains the
fault address".
Similarly, there is _nothing_ that guarantees that the low bits of %cr2
are meaningful, writable, or even implemented.
Which means that the whole approach is just depending on undocumented
implementation behaviour. That's asking for trouble.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/