On Thu,  2 Jul 2020 16:26:37 -0700
Kees Cook <keesc...@chromium.org> wrote:

> The kprobe show() functions were using "current"'s creds instead
> of the file opener's creds for kallsyms visibility. Fix to use
> seq_file->file->f_cred.

This looks good to me.

Acked-by: Masami Hiramatsu <mhira...@kernel.org>

Thanks!

> 
> Cc: sta...@vger.kernel.org
> Fixes: 81365a947de4 ("kprobes: Show address of kprobes if kallsyms does")
> Fixes: ffb9bd68ebdb ("kprobes: Show blacklist addresses as same as kallsyms 
> does")
> Signed-off-by: Kees Cook <keesc...@chromium.org>
> ---
>  kernel/kprobes.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index d4de217e4a91..2e97febeef77 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -2448,7 +2448,7 @@ static void report_probe(struct seq_file *pi, struct 
> kprobe *p,
>       else
>               kprobe_type = "k";
>  
> -     if (!kallsyms_show_value(current_cred()))
> +     if (!kallsyms_show_value(pi->file->f_cred))
>               addr = NULL;
>  
>       if (sym)
> @@ -2540,7 +2540,7 @@ static int kprobe_blacklist_seq_show(struct seq_file 
> *m, void *v)
>        * If /proc/kallsyms is not showing kernel address, we won't
>        * show them here either.
>        */
> -     if (!kallsyms_show_value(current_cred()))
> +     if (!kallsyms_show_value(m->file->f_cred))
>               seq_printf(m, "0x%px-0x%px\t%ps\n", NULL, NULL,
>                          (void *)ent->start_addr);
>       else
> -- 
> 2.25.1
> 


-- 
Masami Hiramatsu <mhira...@kernel.org>

Reply via email to