All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Arnaldo Carvalho de Melo" <acme@kernel.org>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 2/6] perf dwarf-aux: Add die_same_file() and die_get_type_die()
Date: Fri, 25 Sep 2026 15:16:40 +0000	[thread overview]
Message-ID: <20260925151640.8FEF31F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260925150657.1826942-3-acme@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] perf dwarf-aux: truncation of u64 die_off in pr_debug on 32-bit platforms
--

commit c7e2660460f55978ed41b85fca70ec2e99b2a867
Author: Arnaldo Carvalho de Melo <acme@redhat.com>

perf dwarf-aux: Add die_same_file() and die_get_type_die()

This commit introduces die_same_file() to compare the debug files of two DIEs
and die_get_type_die() to resolve a type DIE offset in the correct debug file.
This ensures proper offset resolution for DWARF files and DWZ common files.

> diff --git a/tools/perf/util/dwarf-aux.c b/tools/perf/util/dwarf-aux.c
> index 2c135ebb1551f..54f8b5ec74a2f 100644
> --- a/tools/perf/util/dwarf-aux.c
> +++ b/tools/perf/util/dwarf-aux.c

[ ... ]

> +Dwarf_Die *die_get_type_die(Dwarf *dbg, u64 die_off, int die_tag, bool from_alt,
> +			    Dwarf_Die *die_mem)
> +{
> +	Dwarf *target = dbg;
> +	Dwarf_Die die;
> +
> +	if (from_alt) {
> +		/* No fallback: an alt offset here parses whatever is at it. */
> +		target = dwarf_getalt(dbg);
> +		if (target == NULL) {
> +			pr_debug("DWARF: no alt (dwz) debug file to resolve the type DIE at offset 0x%lx in\n",
> +				 (unsigned long)die_off);

[Severity: Low]
Could this truncate the DWARF file offset in tools/perf/util/dwarf-aux.c
within die_get_type_die() on 32-bit platforms if the offset exceeds 4GB?
The 64-bit integer die_off is cast to unsigned long when logging a failed
alt offset resolution, which is only 32 bits on 32-bit architectures,
causing debug messages to display an incorrect offset. Should this use
PRIx64 instead?

> +			return NULL;
> +		}
> +	}
> +
> +	if (dwarf_offdie(target, die_off, &die) && dwarf_tag(&die) == die_tag) {
> +		*die_mem = die;
> +		return die_mem;
> +	}
> +
> +	pr_debug("DWARF: no DIE with tag %d at offset 0x%lx in the %s debug file\n",
> +		 die_tag, (unsigned long)die_off, from_alt ? "alt" : "main");

[Severity: Low]
Similarly, when logging a missing DIE at the end of die_get_type_die(),
does casting the u64 die_off to unsigned long truncate the upper 32 bits
on 32-bit architectures? Consider formatting with PRIx64 to ensure the full
64-bit value is printed correctly.

> +	return NULL;
> +}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260925150657.1826942-1-acme@kernel.org?part=2

  reply	other threads:[~2026-09-25 15:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 15:06 [PATCH v5 0/6] perf annotate-data: Fix hangs on broken debug info, AMD mem record Arnaldo Carvalho de Melo
2026-09-25 15:06 ` [PATCH 1/6] perf dwarf-aux: Bound the type chases for broken debug info Arnaldo Carvalho de Melo
2026-09-25 15:13   ` sashiko-bot
2026-09-25 15:18   ` Ian Rogers
2026-09-25 15:06 ` [PATCH 2/6] perf dwarf-aux: Add die_same_file() and die_get_type_die() Arnaldo Carvalho de Melo
2026-09-25 15:16   ` sashiko-bot [this message]
2026-09-25 15:20   ` Ian Rogers
2026-09-25 15:06 ` [PATCH 3/6] perf annotate-data: Resolve type DIEs in the debug file they came from Arnaldo Carvalho de Melo
2026-09-25 15:11   ` sashiko-bot
2026-09-25 15:35   ` Ian Rogers
2026-09-25 15:06 ` [PATCH 4/6] perf annotate-data: Bound the member nesting recursion Arnaldo Carvalho de Melo
2026-09-25 15:14   ` sashiko-bot
2026-09-25 15:37   ` Ian Rogers
2026-09-25 15:39   ` Namhyung Kim
2026-09-25 15:43     ` Arnaldo Carvalho de Melo
2026-09-25 16:11       ` Arnaldo Carvalho de Melo
2026-09-25 15:06 ` [PATCH 5/6] perf mem record: Request PERF_SAMPLE_CPU by default Arnaldo Carvalho de Melo
2026-09-25 15:17   ` sashiko-bot
2026-09-25 15:47   ` Ian Rogers
2026-09-25 15:06 ` [PATCH 6/6] perf mem record: Use the IBS swfilt filter when available Arnaldo Carvalho de Melo
2026-09-25 15:15   ` sashiko-bot
2026-09-25 15:46 ` [PATCH v5 0/6] perf annotate-data: Fix hangs on broken debug info, AMD mem record Namhyung Kim
2026-09-25 15:48   ` Arnaldo Carvalho de Melo
2026-09-25 15:58     ` Arnaldo Carvalho de Melo

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=20260925151640.8FEF31F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=acme@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.