diff options
author | 2020-06-26 10:21:13 -0700 | |
---|---|---|
committer | 2020-07-01 10:00:26 +0200 | |
commit | ffae641f57476369b4d503402b37ebe489d23395 (patch) | |
tree | 66ad35049b3c31cf7256e2aa29ddbb1a420d2c8d /tools | |
parent | x86/entry: Move SYSENTER's regs->sp and regs->flags fixups into C (diff) | |
download | linux-ffae641f57476369b4d503402b37ebe489d23395.tar.gz linux-ffae641f57476369b4d503402b37ebe489d23395.tar.bz2 linux-ffae641f57476369b4d503402b37ebe489d23395.zip |
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: 1c3e5d3f60e2 ("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
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions