Re: [RFC v1 01/19] uprobes: guard trace cleanup against error pointers

From: Google

Date: Mon Aug 31 2026 - 20:59:57 EST


On Mon, 31 Aug 2026 08:04:37 -0700
Andi Kleen <ak@xxxxxxxxxx> wrote:

> Sashiko pointed out the some of the scope cleanups for free_uprobe
> could get an error pointer. Handle this case in free_uprobe
> to prevent a crash.
>
> On the other hand the macro doesn't need the guard because
> free_uprobe itself already does the check.
>
> Assisted-by: omp:gpt-5.6-luna sashiko
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxx>

This looks good to me. Let me pick this to probes/fixes independently.

Thanks!

> ---
> kernel/trace/trace_uprobe.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
> index 861d857adadb..22cc3c8181b8 100644
> --- a/kernel/trace/trace_uprobe.c
> +++ b/kernel/trace/trace_uprobe.c
> @@ -368,7 +368,7 @@ alloc_trace_uprobe(const char *group, const char *event, int nargs, bool is_ret)
>
> static void free_trace_uprobe(struct trace_uprobe *tu)
> {
> - if (!tu)
> + if (IS_ERR_OR_NULL(tu))
> return;
>
> path_put(&tu->path);
> @@ -533,7 +533,7 @@ static int register_trace_uprobe(struct trace_uprobe *tu)
> return ret;
> }
>
> -DEFINE_FREE(free_trace_uprobe, struct trace_uprobe *, if (_T) free_trace_uprobe(_T))
> +DEFINE_FREE(free_trace_uprobe, struct trace_uprobe *, free_trace_uprobe(_T))
>
> /*
> * Argument syntax:
> --
> 2.54.0
>


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>