Re: [PATCH 4.19 38/92] kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler

From: Masami Hiramatsu
Date: Tue Sep 29 2020 - 01:50:09 EST


Hi,

On Mon, 28 Sep 2020 18:15:35 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Mon, 28 Sep 2020 18:09:42 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Tue, 29 Sep 2020 01:32:59 +0530
> > Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
> >
> > > stable rc branch 4.19 build warning on arm64.
> > >
> > > ../kernel/kprobes.c: In function ‘kill_kprobe’:
> > > ../kernel/kprobes.c:1070:33: warning: statement with no effect [-Wunused-value]
> > > 1070 | #define disarm_kprobe_ftrace(p) (-ENODEV)
> > > | ^
> > > ../kernel/kprobes.c:2090:3: note: in expansion of macro ‘disarm_kprobe_ftrace’
> > > 2090 | disarm_kprobe_ftrace(p);
> > > | ^~~~~~~~~~~~~~~~~~~~
> >
> > Seems to affect upstream as well.
> >
>
> Bah, no (tested the wrong kernel).
>
> You want this commit too:
>
> 10de795a5addd ("kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE")

It seems that this commit's Fixes tag is wrong.

ae6aa16fdc163 (Masami Hiramatsu 2012-06-05 19:28:32 +0900 1079) #define prepare_kprobe(p) arch_prepare_kprobe(p)
12310e3437554 (Jessica Yu 2018-01-10 00:51:23 +0100 1080) #define arm_kprobe_ftrace(p) (-ENODEV)
297f9233b53a0 (Jessica Yu 2018-01-10 00:51:24 +0100 1081) #define disarm_kprobe_ftrace(p) (-ENODEV)

Thus, it should have "Fixes: 297f9233b53a ("kprobes: Propagate error from disarm_kprobe_ftrace()")"

$ git tag -l --contains 297f9233b53a | grep "^v[[:digit:].]*$" | cut -f1-2 -d. | uniq
v4.16
v4.17
v4.18
v4.19
v4.20
v5.0
v5.1
v5.2
v5.3
v5.4
v5.5
v5.6
v5.7
v5.8

So the commit 10de795a5addd must be backported to 4.19.y and 5.4.y.

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>