]> err.no Git - linux-2.6/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)
commitc33d4568aca9028a22857f94f5e0850012b6444b
tree7a33d918e4d35b0444820595cb2aaaae1f1f5bfa
parent31fe4d331729e9687db84521c3ceb8e43390efcf
[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