linux-stable/arch/x86/entry
Josh Poimboeuf c1ccbdbe33 x86_64: Add gap to int3 to allow for call emulation
commit 2700fefdb2 upstream.

To allow an int3 handler to emulate a call instruction, it must be able to
push a return address onto the stack. Add a gap to the stack to allow the
int3 handler to push the return address and change the return from int3 to
jump straight to the emulated called function target.

Link: http://lkml.kernel.org/r/20181130183917.hxmti5josgq4clti@treble
Link: http://lkml.kernel.org/r/20190502162133.GX2623@hirez.programming.kicks-ass.net

[
  Note, this is needed to allow Live Kernel Patching to not miss calling a
  patched function when tracing is enabled. -- Steven Rostedt
]

Cc: stable@vger.kernel.org
Fixes: b700e7f03d ("livepatch: kernel: add support for live patching")
Tested-by: Nicolai Stange <nstange@suse.de>
Reviewed-by: Nicolai Stange <nstange@suse.de>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-25 18:25:23 +02:00
..
syscalls x86/build: Beautify build log of syscall headers 2017-12-25 14:26:16 +01:00
vdso x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-16 19:42:28 +02:00
vsyscall x86/vsyscall/64: Use proper accessor to update P4D entry 2018-03-28 18:24:46 +02:00
calling.h x86/entry/64: Use 'xorl' for faster register clearing 2018-03-15 10:54:36 +01:00
common.c x86/speculation/mds: Clear CPU buffers on exit to user 2019-05-14 19:18:43 +02:00
entry_32.S sched/x86: Save [ER]FLAGS on context switch 2019-05-21 18:50:14 +02:00
entry_64.S x86_64: Add gap to int3 to allow for call emulation 2019-05-25 18:25:23 +02:00
entry_64_compat.S x86/entry/64: Use 'xorl' for faster register clearing 2018-03-15 10:54:36 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
syscall_32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
syscall_64.c x86/entry/64: Remove the SYSCALL64 fast path 2018-02-07 11:12:22 -08:00
thunk_32.S x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00
thunk_64.S x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00