From: Namhyung Kim <namhyung@kernel.org>
To: sashiko-reviews@lists.linux.dev
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v2 10/10] perf test: Fix dso data tests
Date: Fri, 9 Oct 2026 23:48:28 -0700 [thread overview]
Message-ID: <asnfvJYJzV7DqNaL@z2> (raw)
In-Reply-To: <sashiko-outbox-162544@kernel.org>
On Tue, Oct 06, 2026 at 11:59:03PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
> - [Medium] perf test: NULL pointer dereference on dso__new() failure
> - [Medium] perf: NULL pointer dereference when dso__new() fails
> --
>
> commit 2688b984099e76fca1d46c74193628a04bf63e97
> Author: Namhyung Kim <namhyung@kernel.org>
>
> perf test: Fix dso data tests
>
> This commit fixes the dso data tests by bypassing the ELF check for binary
> types so that read/write operations on the test file can proceed properly.
>
> > diff --git a/tools/perf/tests/dso-data.c b/tools/perf/tests/dso-data.c
> > index 46bc3f5972600..5a027ffab541b 100644
> > --- a/tools/perf/tests/dso-data.c
> > +++ b/tools/perf/tests/dso-data.c
> > @@ -138,6 +138,9 @@ static int test__dso_data(struct test_suite *test __maybe_unused, int subtest __
> > dsos__init(&machine.dsos);
> >
> > dso = dso__new(file);
> > + /* override the binary type for dso data access */
> > + dso__set_binary_type(dso, DSO_BINARY_TYPE__SYSTEM_PATH_DSO);
> > + dso__set_bintype_searched(dso);
>
> [Severity: Medium]
> Will this crash if dso__new() fails?
>
> If memory allocation fails and dso__new() returns NULL, these newly added
> calls will unconditionally dereference the pointer, causing a segmentation
> fault instead of allowing dsos__add() to handle the NULL safely and fail
> the test gracefully.
Ok, will check the return value.
>
> > TEST_ASSERT_VAL("Failed to add dso", !dsos__add(&machine.dsos, dso));
> > TEST_ASSERT_VAL("Failed to access to dso",
> > dso__data_fd(dso, &machine) >= 0);
>
> [ ... ]
>
> > @@ -225,6 +228,9 @@ static int dsos__create(int cnt, int size, struct dsos *dsos)
> >
> > TEST_ASSERT_VAL("failed to get dso file", file);
> > dso = dso__new(file);
> > + /* override the binary type for dso data access */
> > + dso__set_binary_type(dso, DSO_BINARY_TYPE__SYSTEM_PATH_DSO);
> > + dso__set_bintype_searched(dso);
>
> [Severity: Medium]
> Similarly, does this bypass the subsequent NULL check for dso?
>
> By unconditionally dereferencing dso, a failure from dso__new() will cause
> a crash before reaching the explicit TEST_ASSERT_VAL() check intended to safely
> handle this exact allocation failure.
Ditto.
Thanks,
Namhyung
prev parent reply other threads:[~2026-10-10 6:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 23:43 [PATCH v2 00/10] perf symbol: Properly set DSO binary/symtab types Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 01/10] perf tools: Remove redundant dso data init Namhyung Kim
2026-10-06 23:49 ` sashiko-bot
2026-10-06 23:43 ` [PATCH v2 02/10] perf tools: Try linked debug files for DSO debug info Namhyung Kim
2026-10-06 23:54 ` sashiko-bot
2026-10-10 5:38 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 03/10] perf symbol: Update symtab type of vmlinux from build-id cache Namhyung Kim
2026-10-06 23:54 ` sashiko-bot
2026-10-06 23:43 ` [PATCH v2 04/10] perf symbol: Set binary/symtab type for split kallsyms Namhyung Kim
2026-10-06 23:58 ` sashiko-bot
2026-10-10 5:42 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 05/10] perf symbol: Set dso symtab type for libbfd Namhyung Kim
2026-10-06 23:57 ` sashiko-bot
2026-10-10 5:49 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 06/10] perf tools: Factor out dso__find_binary_type() Namhyung Kim
2026-10-07 0:04 ` sashiko-bot
2026-10-10 6:17 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 07/10] perf symbol: Set binary type for JIT map DSOs Namhyung Kim
2026-10-06 23:51 ` sashiko-bot
2026-10-06 23:43 ` [PATCH v2 08/10] perf symbol: Do not set binary type from symtab type Namhyung Kim
2026-10-06 23:57 ` sashiko-bot
2026-10-10 6:41 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 09/10] perf annotate: Simplify symbol__disassemble() with dso binary_type Namhyung Kim
2026-10-07 0:01 ` sashiko-bot
2026-10-10 6:47 ` Namhyung Kim
2026-10-06 23:43 ` [PATCH v2 10/10] perf test: Fix dso data tests Namhyung Kim
2026-10-06 23:59 ` sashiko-bot
2026-10-10 6:48 ` Namhyung Kim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=asnfvJYJzV7DqNaL@z2 \
--to=namhyung@kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.