Messages in this thread | | | Subject | Re: [PATCH] tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher() | From | Daniel Borkmann <> | Date | Mon, 30 May 2022 21:33:23 +0200 |
| |
On 5/27/22 5:55 PM, Masami Hiramatsu (Google) wrote: > From: Masami Hiramatsu (Google) <mhiramat@kernel.org> > > There is a small chance that get_kretprobe(ri) returns NULL in > kretprobe_dispatcher() when another CPU unregisters the kretprobe > right after __kretprobe_trampoline_handler(). > > To avoid this issue, kretprobe_dispatcher() checks the get_kretprobe() > return value again. And if it is NULL, it returns soon because that > kretprobe is under unregistering process. > > This issue has been introduced when the kretprobe is decoupled > from the struct kretprobe_instance by commit d741bf41d7c7 > ("kprobes: Remove kretprobe hash"). Before that commit, the > struct kretprob_instance::rp directly points the kretprobe > and it is never be NULL. > > Reported-by: Yonghong Song <yhs@fb.com> > Fixes: d741bf41d7c7 ("kprobes: Remove kretprobe hash") > Cc: stable@vger.kernel.org > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Steven, I presume you'll pick this fix up?
Thanks, Daniel
| |