]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] x86-64: Fix up handling of non canonical user RIPs
authorAndi Kleen <ak@suse.de>
Sun, 12 Mar 2006 22:52:59 +0000 (23:52 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 13 Mar 2006 06:56:29 +0000 (22:56 -0800)
commite049c07292c220c431d0b4e487fb5f456480acc2
tree7a33d918e4d35b0444820595cb2aaaae1f1f5bfa
parent792ec5b8d69804a1bea58d9514bd2419bf6b3adc
[PATCH] x86-64: Fix up handling of non canonical user RIPs

EM64T CPUs have somewhat weird error reporting for non canonical RIPs in
SYSRET.

We can't handle any exceptions there because the exception handler would
end up running on the user stack which is unsafe.

To avoid problems any code that might end up with a user touched pt_regs
should return using int_ret_from_syscall.  int_ret_from_syscall ends up
using IRET, which allows safe exceptions.

Cc: Ernie Petrides <petrides@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/entry.S