x86-64: page faults from user mode are always user faults
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 19 Sep 2007 18:37:14 +0000 (11:37 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 19 Sep 2007 18:37:14 +0000 (11:37 -0700)
commitdbe3ed1c078c193be34326728d494c5c4bc115e2
tree9624273ee199b70db0c8adc0ea38a8b2e0984544
parent4f01a757e75f2a3cab2bab89c4176498963946b9
x86-64: page faults from user mode are always user faults

Randy Dunlap noticed an interesting "crashme" behaviour on his dual
Prescott Xeon setup, where he gets page faults with the error code
having a zero "user" bit, but the register state points back to user
mode.

This may be a CPU microcode buglet triggered by some strange instruction
pattern that crashme generates, and loading a microcode update seems to
possibly have fixed it.

Regardless, we really should trust the register state more than the
error code, since it's really the register state that determines whether
we can actually send a signal, or whether we're in kernel mode and need
to oops/kill the process in the case of a page fault.

Cc: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86_64/mm/fault.c