Re: [PATCH 3/3] kprobe/static_call: Restore missing static_call_text_reserved()

From: Masami Hiramatsu
Date: Mon Jun 28 2021 - 10:34:01 EST


On Mon, 28 Jun 2021 13:24:12 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> Restore two hunks from commit 6333e8f73b83 ("static_call: Avoid
> kprobes on inline static_call()s") that went walkabout.
>
> Fixes: 76d4acf22b48 ("Merge tag 'perf-kprobes-2020-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip")
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

This looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you!

> ---
> kernel/kprobes.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -35,6 +35,7 @@
> #include <linux/ftrace.h>
> #include <linux/cpu.h>
> #include <linux/jump_label.h>
> +#include <linux/static_call.h>
> #include <linux/perf_event.h>
>
> #include <asm/sections.h>
> @@ -1551,6 +1552,7 @@ static int check_kprobe_address_safe(str
> if (!kernel_text_address((unsigned long) p->addr) ||
> within_kprobe_blacklist((unsigned long) p->addr) ||
> jump_label_text_reserved(p->addr, p->addr) ||
> + static_call_text_reserved(p->addr, p->addr) ||
> find_bug((unsigned long)p->addr)) {
> ret = -EINVAL;
> goto out;
>
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>