[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220416230628.40d09e2742cda9777e2e180e@kernel.org>
Date: Sat, 16 Apr 2022 23:06:28 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Adam Zabrocki <pi3@....com.pl>
Cc: "Naveen N. Rao" <naveen.n.rao@...ux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>,
"David S. Miller" <davem@...emloft.net>,
linux-kernel@...r.kernel.org, Solar Designer <solar@...nwall.com>
Subject: Re: [PATCH] x86/kprobes: Fix KRETPROBES when
CONFIG_KRETPROBE_ON_RETHOOK is set
On Fri, 15 Apr 2022 20:10:06 +0200
Adam Zabrocki <pi3@....com.pl> wrote:
> [PATCH] x86/kprobes: Fix KRETPROBES when CONFIG_KRETPROBE_ON_RETHOOK is set
>
> The recent kernel change "kprobes: Use rethook for kretprobe if possible",
> introduced a potential NULL pointer dereference bug in the KRETPROBE
> mechanism. The official Kprobes documentation defines that "Any or all
> handlers can be NULL". Unfortunately, there is a missing return handler
> verification to fulfill these requirements and can result in a NULL pointer
> dereference bug.
>
> This patch adds such verification in kretprobe_rethook_handler() function.
>
Good catch! I forgot that user can register kretprobe without handler...
Acked-by: Masami Hiramatsu <mhiramat@...nel.org>
Thank you!
> Fixes: 73f9b911faa7 ("kprobes: Use rethook for kretprobe if possible")
> Signed-off-by: Adam Zabrocki <pi3@....com.pl>
> ---
> kernel/kprobes.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index dbe57df2e199..dd58c0be9ce2 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -2126,7 +2126,7 @@ static void kretprobe_rethook_handler(struct rethook_node *rh, void *data,
> struct kprobe_ctlblk *kcb;
>
> /* The data must NOT be null. This means rethook data structure is broken. */
> - if (WARN_ON_ONCE(!data))
> + if (WARN_ON_ONCE(!data) || !rp->handler)
> return;
>
> __this_cpu_write(current_kprobe, &rp->kp);
>
> --
> pi3 (pi3ki31ny) - pi3 (at) itsec pl
> http://pi3.com.pl
>
--
Masami Hiramatsu <mhiramat@...nel.org>
Powered by blists - more mailing lists