x86/ibt,kprobes: Cure sym+0 equals fentry woes
authorPeter Zijlstra <peterz@infradead.org>
Tue, 8 Mar 2022 15:30:32 +0000 (16:30 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 15 Mar 2022 09:32:38 +0000 (10:32 +0100)
commitcc66bb91457827f62e2b6cb2518666820f0a6c48
treedcb636aca2a74467522c1d1b6896aa6c530cbac8
parente52fc2cf3f662828cc0d51c4b73bed73ad275fce
x86/ibt,kprobes: Cure sym+0 equals fentry woes

In order to allow kprobes to skip the ENDBR instructions at sym+0 for
X86_KERNEL_IBT builds, change _kprobe_addr() to take an architecture
callback to inspect the function at hand and modify the offset if
needed.

This streamlines the existing interface to cover more cases and
require less hooks. Once PowerPC gets fully converted there will only
be the one arch hook.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220308154318.405947704@infradead.org
arch/powerpc/kernel/kprobes.c
arch/x86/kernel/kprobes/core.c
include/linux/kprobes.h
kernel/kprobes.c