Re: [PATCH] kprobes: Fix build errors with CONFIG_KRETPROBES=n

From: Masami Hiramatsu
Date: Wed May 04 2022 - 20:31:51 EST


On Wed, 4 May 2022 10:53:42 -0700
Max Filippov <jcmvbkbc@xxxxxxxxx> wrote:

> On Tue, May 3, 2022 at 8:36 PM Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
> >
> > Max Filippov reported:
> >
> > When building kernel with CONFIG_KRETPROBES=n kernel/kprobes.c
> > compilation fails with the following messages:
> >
> > kernel/kprobes.c: In function ‘recycle_rp_inst’:
> > kernel/kprobes.c:1273:32: error: implicit declaration of function
> > ‘get_kretprobe’
> >
> > kernel/kprobes.c: In function ‘kprobe_flush_task’:
> > kernel/kprobes.c:1299:35: error: ‘struct task_struct’ has no member
> > named ‘kretprobe_instances’
> >
> > This came from the commit d741bf41d7c7 ("kprobes: Remove
> > kretprobe hash") which introduced get_kretprobe() and
> > kretprobe_instances member in task_struct when CONFIG_KRETPROBES=y,
> > but did not make recycle_rp_inst() and kprobe_flush_task()
> > depending on CONFIG_KRETPORBES.
> >
> > Since those functions are only used for kretprobe, move those
> > functions into #ifdef CONFIG_KRETPROBE area.
> >
> > Reported-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
> > Fixes: d741bf41d7c7 ("kprobes: Remove kretprobe hash")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > ---
> > include/linux/kprobes.h | 2 -
> > kernel/kprobes.c | 144 +++++++++++++++++++++++------------------------
> > 2 files changed, 72 insertions(+), 74 deletions(-)
>
> Tested-by: Max Filippov <jcmvbkbc@xxxxxxxxx>

Thank you!

Steve, can you pick this fix?

Thanks,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>