summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/visws_quirks.c
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@novell.com>2009-10-26 15:20:29 +0000
committerIngo Molnar <mingo@elte.hu>2009-10-26 16:23:26 +0100
commit81766741fe1eee3884219e8daaf03f466f2ed52f (patch)
tree0afde40852f608ed101d03a83ef49ef74ccbb434 /arch/x86/kernel/visws_quirks.c
parent72ed7de74e8f0fad0d8e567ae1f987b740accb3f (diff)
downloadlinux-81766741fe1eee3884219e8daaf03f466f2ed52f.tar.gz
linux-81766741fe1eee3884219e8daaf03f466f2ed52f.tar.bz2
linux-81766741fe1eee3884219e8daaf03f466f2ed52f.zip
x86-64: Fix register leak in 32-bit syscall audting
Restoring %ebp after the call to audit_syscall_exit() is not only unnecessary (because the register didn't get clobbered), but in the sysenter case wasn't even doing the right thing: It loaded %ebp from a location below the top of stack (RBP < ARGOFFSET), i.e. arbitrary kernel data got passed back to user mode in the register. Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Roland McGrath <roland@redhat.com> Cc: <stable@kernel.org> LKML-Reference: <4AE5CC4D020000780001BD13@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/visws_quirks.c')
0 files changed, 0 insertions, 0 deletions