]> git.baikalelectronics.ru Git - kernel.git/commit
x86/entry/64/compat: Fix Xen PV SYSENTER frame setup
authorAndy Lutomirski <luto@kernel.org>
Fri, 26 Jun 2020 17:21:13 +0000 (10:21 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 1 Jul 2020 08:00:26 +0000 (10:00 +0200)
commitf55f1a5912cb9500857f3ebf7263ae3b0bb2ebe9
tree66ad35049b3c31cf7256e2aa29ddbb1a420d2c8d
parentce6ec19e4ac241adf359348bf2682efea5a8de5a
x86/entry/64/compat: Fix Xen PV SYSENTER frame setup

The SYSENTER frame setup was nonsense.  It worked by accident because the
normal code into which the Xen asm jumped (entry_SYSENTER_32/compat) threw
away SP without touching the stack.  entry_SYSENTER_compat was recently
modified such that it relied on having a valid stack pointer, so now the
Xen asm needs to invoke it with a valid stack.

Fix it up like SYSCALL: use the Xen-provided frame and skip the bare
metal prologue.

Fixes: 60322b5754c2 ("x86/entry: Make entry_64_compat.S objtool clean")
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lkml.kernel.org/r/947880c41ade688ff4836f665d0c9fcaa9bd1201.1593191971.git.luto@kernel.org
arch/x86/entry/entry_64_compat.S
arch/x86/xen/xen-asm_64.S