[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <151627684798.24682.2979775081582774869.stgit@devbox>
Date: Thu, 18 Jan 2018 21:00:48 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Ingo Molnar <mingo@...nel.org>, David Woodhouse <dwmw@...zon.co.uk>
Cc: Masami Hiramatsu <mhiramat@...nel.org>,
linux-kernel@...r.kernel.org, Andi Kleen <ak@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...ux-foundation.org>,
Arjan van de Ven <arjan@...ux.intel.com>,
Peter Zijlstra <peterz@...radead.org>,
Ananth N Mavinakayanahalli <ananth@...ux.vnet.ibm.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>
Subject: [PATCH v1 tip/master 0/3] kprobes/x86: retpoline: Fix kprobes for retpoline
Hi,
This is a series of patches to fix kprobes issues on the
kernel with CONFIG_RETPOLINE=y.
- [1/3]: This introduces __x86_indirect_thunk_* boundary
symbols so that kprobes easily identify those functions.
- [2/3]: Mark __x86_indirect_thunk_* as blacklisted function
for kprobes, since it can be called from other
blacklisted functions.
- [3/3]: Check jmp instructions in the probe target function
whether it jumps into the __x86_indirect_thunk_*,
because it is equal to an indirect jump instruction.
Side effect: [1/3] will move __x86_indirect_thunk_* functions
in kernel text area. Of course those functions were in the
.text area, but placed in right after _etext. This just moves
it right before the _etext.
Thank you,
---
Masami Hiramatsu (3):
retpoline: Introduce start/end markers of indirect thunk
kprobes/x86: Blacklist indirect thunk functions for kprobes
kprobes/x86: Disable optimizing on the function jumps to indirect thunk
arch/x86/include/asm/nospec-branch.h | 3 +++
arch/x86/kernel/kprobes/opt.c | 23 +++++++++++++++++++++-
arch/x86/kernel/vmlinux.lds.S | 35 ++++++++++++++++++++++++++++++++++
arch/x86/lib/retpoline.S | 3 ++-
4 files changed, 62 insertions(+), 2 deletions(-)
--
Masami Hiramatsu (Linaro) <mhiramat@...nel.org>
Powered by blists - more mailing lists