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

From: Will Deacon
Date: Thu Feb 14 2019 - 10:55:30 EST


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).
*/

With that, you can have my ack for the series:

Acked-by: Will Deacon <will.deacon@xxxxxxx>

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

Cheers,

Will