Messages in this thread | | | Date | Tue, 31 May 2022 00:00:06 +0200 | From | Steven Rostedt <> | Subject | Re: [PATCH] tracing/kprobes: Check whether get k retprobe() returns NULL in kretprobe dispatcher() |
| |
On May 30, 2022 9:33:23 PM GMT+02:00, Daniel Borkmann <daniel@iogearbox.net> wrote: >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?
I'm currently at Embedded/Kernel Recipes, but yeah, I'll take a look at it. (Just need to finish my slides first ;-)
-- Steve > >Thanks, >Daniel
-- Sent from my Android device with K-9 Mail. Please excuse my brevity and top posting.
| |