Re: [PATCH v2 05/18] perf bench uprobe: Fix potential use of memory after free

From: Namhyung Kim
Date: Mon Oct 09 2023 - 01:55:52 EST


On Thu, Oct 5, 2023 at 4:09 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> Found by clang-tidy:
> ```
> bench/uprobe.c:98:3: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
> bench_uprobe_bpf__destroy(skel);
> ```
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

I'm ok with the change but I think it won't call
bench_uprobe__teardown_bpf_skel() if the setup function
returns a negative value. Maybe we also need to set the
err in the default case of `switch (bench)` statement.

Thanks,
Namhyung


> ---
> tools/perf/bench/uprobe.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/bench/uprobe.c b/tools/perf/bench/uprobe.c
> index 914c0817fe8a..5c71fdc419dd 100644
> --- a/tools/perf/bench/uprobe.c
> +++ b/tools/perf/bench/uprobe.c
> @@ -89,6 +89,7 @@ static int bench_uprobe__setup_bpf_skel(enum bench_uprobe bench)
> return err;
> cleanup:
> bench_uprobe_bpf__destroy(skel);
> + skel = NULL;
> return err;
> }
>
> --
> 2.42.0.609.gbb76f46606-goog
>