From: Namhyung Kim <namhyung@kernel.org>
To: sashiko-reviews@lists.linux.dev
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v4 02/10] perf tools: Try linked debug files for DSO debug info
Date: Mon, 12 Oct 2026 23:08:56 -0700 [thread overview]
Message-ID: <as3K-Pf9thcqGknr@z2> (raw)
In-Reply-To: <sashiko-outbox-168757@kernel.org>
On Mon, Oct 12, 2026 at 11:56:52PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] perf dso: DEBUGLINK path resolution flaws in dso__read_binary_type_filename
> --
>
> commit 0c61bd07a4d26ed6f7bfc347b3ec0fe6ffc13ca0
> Author: Namhyung Kim <namhyung@kernel.org>
>
> perf tools: Try linked debug files for DSO debug info
>
> This commit modifies dso__find_dbginfo_type() to include
> DSO_BINARY_TYPE__DEBUGLINK in its search array. This allows perf to follow
> .gnu_debuglink to locate debug information in separate files.
>
> > diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
> > index df03f84c97235..913877b84b2d4 100644
> > --- a/tools/perf/util/dso.c
> > +++ b/tools/perf/util/dso.c
> > @@ -2111,6 +2111,7 @@ void dso__find_dbginfo_type(struct dso *dso)
> > DSO_BINARY_TYPE__OPENEMBEDDED_DEBUGINFO,
> > DSO_BINARY_TYPE__BUILDID_DEBUGINFO,
> > DSO_BINARY_TYPE__SYSTEM_PATH_DSO,
> > + DSO_BINARY_TYPE__DEBUGLINK,
>
> [Severity: Medium]
> Enabling DSO_BINARY_TYPE__DEBUGLINK here exposes path resolution regressions in
> dso__read_binary_type_filename().
>
> If the filename lacks slashes, does this logic create an empty string for
> dso_dir, breaking relative paths?
>
> tools/perf/util/dso.c:dso__read_binary_type_filename() {
> ...
> last_slash = filename + len;
> while (last_slash != filename && *last_slash != '/')
> last_slash--;
>
> strncpy(dso_dir, filename, last_slash - filename);
> dso_dir[last_slash-filename] = '\0';
> ...
> }
Then it'd be a separate, pre-existing issue. Will handle it
independently.
>
> Additionally, does this direct host filesystem I/O bypass the container mount
> namespace (/proc/<pid>/root/) fallback context?
>
> tools/perf/util/dso.c:dso__read_binary_type_filename() {
> ...
> if (!is_regular_file(filename)) {
> ret = -1;
> break;
> }
>
> ret = filename__read_debuglink(filename, symfile, PATH_MAX);
> ...
> }
>
> Finally, does this inject the symfs-prefixed dso_dir into the middle of the
> /usr/lib/debug path, searching the host filesystem instead of the symfs
> chroot?
Also this is known, separate issue. Let me handle it in a separate
series after this.
Thanks,
Namhyung
>
> tools/perf/util/dso.c:dso__read_binary_type_filename() {
> ...
> for (i = 0; i < ARRAY_SIZE(debuglink_paths); i++) {
> snprintf(filename, size,
> debuglink_paths[i], dso_dir, symfile);
> ...
> }
>
> > DSO_BINARY_TYPE__NOT_FOUND,
> > };
> > const enum dso_binary_type *type;
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20261012234654.60666-1-namhyung@kernel.org?part=2
next prev parent reply other threads:[~2026-10-13 6:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 23:46 [PATCH v4 00/10] perf symbol: Properly seto DSO binary/symtab types Namhyung Kim
2026-10-12 23:46 ` [PATCH v4 01/10] perf tools: Remove redundant dso data init Namhyung Kim
2026-10-12 23:50 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 02/10] perf tools: Try linked debug files for DSO debug info Namhyung Kim
2026-10-12 23:56 ` sashiko-bot
2026-10-13 6:08 ` Namhyung Kim [this message]
2026-10-12 23:46 ` [PATCH v4 03/10] perf symbol: Update symtab type of vmlinux from build-id cache Namhyung Kim
2026-10-12 23:52 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 04/10] perf symbol: Set binary/symtab type for split kallsyms Namhyung Kim
2026-10-12 23:53 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 05/10] perf symbol: Get rid of machine_or_dso_e_machine() Namhyung Kim
2026-10-13 0:03 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 06/10] perf tools: Factor out dso__find_binary_type() Namhyung Kim
2026-10-12 23:58 ` sashiko-bot
2026-10-13 6:11 ` Namhyung Kim
2026-10-12 23:46 ` [PATCH v4 07/10] perf symbol: Set binary type for JIT map DSOs Namhyung Kim
2026-10-12 23:59 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 08/10] perf symbol: Do not set binary type from symtab type Namhyung Kim
2026-10-13 0:08 ` sashiko-bot
2026-10-13 6:18 ` Namhyung Kim
2026-10-12 23:46 ` [PATCH v4 09/10] perf annotate: Simplify symbol__disassemble() with dso binary_type Namhyung Kim
2026-10-13 0:06 ` sashiko-bot
2026-10-12 23:46 ` [PATCH v4 10/10] perf test: Fix dso data tests Namhyung Kim
2026-10-13 0:06 ` sashiko-bot
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=as3K-Pf9thcqGknr@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.