Re: [PATCH v3 4/4] arm64: kprobes: Use arch_populate_kprobe_blacklist()

From: Masami Hiramatsu
Date: Fri Feb 15 2019 - 10:01:04 EST


On Thu, 14 Feb 2019 15:55:22 +0000
Will Deacon <will.deacon@xxxxxxx> wrote:

> Hi Masami,
>
> On Wed, Feb 13, 2019 at 12:44:48AM +0900, Masami Hiramatsu wrote:
> > Use arch_populate_kprobe_blacklist() instead of
> > arch_within_kprobe_blacklist() so that we can see the full
> > blacklisted symbols under the debugfs.
> >
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > ---
> > Changes in v3
> > - Do not populate blacklist in __kprobe_text in
> > arch_populate_kprobe_blacklist(), since it is already
> > populated in populate_kprobe_blacklist().
> > - Add exception entry text blacklist since those are rejected
> > by in_exception_text().
> > ---
> > arch/arm64/kernel/probes/kprobes.c | 45 +++++++++++++++++++++---------------
> > 1 file changed, 26 insertions(+), 19 deletions(-)
> >
> > diff --git a/arch/arm64/kernel/probes/kprobes.c b/arch/arm64/kernel/probes/kprobes.c
> > index 194262fca5cd..37d913f33a89 100644
> > --- a/arch/arm64/kernel/probes/kprobes.c
> > +++ b/arch/arm64/kernel/probes/kprobes.c
> > @@ -465,26 +465,33 @@ kprobe_breakpoint_handler(struct pt_regs *regs, unsigned int esr)
> > return DBG_HOOK_HANDLED;
> > }
> >
> > -bool arch_within_kprobe_blacklist(unsigned long addr)
>
> I think it would be useful to add a comment here so that we remember
> why this code is the way it is:
>
> /*
> * Provide a blacklist of symbols identifying ranges which cannot be kprobed.
> * This blacklist is exposed to userspace via debugfs (kprobes/blacklist).
> */

Agreed. This looks good to me too.

>
> With that, you can have my ack for the series:
>
> Acked-by: Will Deacon <will.deacon@xxxxxxx>

Thank you!

>
> Catalin -- can you pick these up with that comment added, please?
>
> Cheers,
>
> Will


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>