x86: Don't leak 64-bit kernel register values to 32-bit processes
commitee39c2f3e1e667314c018c9fd1e205c97e746bd2
authorJan Beulich <JBeulich@novell.com>
Wed, 30 Sep 2009 10:22:11 +0000 (30 11:22 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 12 Oct 2009 19:40:06 +0000 (12 12:40 -0700)
treef3b64dc7006708a9b89b8cd0807d8663dd250e3e
parent4b5e77cb1f01c2eedbaa6979319a1c7a072ddedd
x86: Don't leak 64-bit kernel register values to 32-bit processes

commit 24e35800cdc4350fc34e2bed37b608a9e13ab3b6 upstream.

While 32-bit processes can't directly access R8...R15, they can
gain access to these registers by temporarily switching themselves
into 64-bit mode.

Therefore, registers not preserved anyway by called C functions
(i.e. R8...R11) must be cleared prior to returning to user mode.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
LKML-Reference: <4AC34D73020000780001744A@vpn.id2.novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/ia32/ia32entry.S