The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* Re: [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes
       [not found] ` <20260504081227.2203848-1-irogers@google.com>
@ 2026-05-04 23:50   ` Namhyung Kim
  2026-05-05 16:29     ` Ian Rogers
  2026-05-06  0:54   ` Arnaldo Carvalho de Melo
  1 sibling, 1 reply; 5+ messages in thread
From: Namhyung Kim @ 2026-05-04 23:50 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa,
	Adrian Hunter, James Clark, Zecheng Li, Masami Hiramatsu,
	linux-perf-users, linux-kernel

Hi Ian,

Just updated Masami's email address.  Please use it for later.

Thanks,
Namhyung

On Mon, May 04, 2026 at 01:12:18AM -0700, Ian Rogers wrote:
> This patch series addresses a number of DWARF/libdw error-handling
> bugs and contract violations, preventing several real Userspace
> segmentation faults and memory/FD leaks.
> 
> In v5, the series has been extensively restructured and polished based on 
> comprehensive review feedback on v4, focusing on history granularity, 
> bisectability, and defensive styling:
> 
>  - **Commit Splitting for Review Granularity**: Split the previously large 
>      libdw contract fix patch into 4 granular commits to cleanly isolate 
>      independent improvements: introducing clear_frames refactoring, fixing 
>      ORDER_CALLER parent update corruption, adding line 0 support, and 
>      consolidating core contract/leak cleanups.
>  
>  - **Bisectability & Correctness Hardening**: 
>      - Fixed an unused variable compilation failure (-Werror) in the split 
>        history to guarantee perfect git bisectability.
>      - Fixed a line 0 fallback regression to ensure that if an optional call 
>        line is missing but the call file is valid, we fallback to line 0 
>        to preserve the filename rather than discarding the caller info entirely.
> 
>  - **Style & Robustness Polish**:
>      - Standardized all newly introduced C++ style (//) comments to 
>        preferred C style (/* ... */) comments.
>      - Implemented explicit safe string duplication style fix in annotate-data.
>      - Corrected CU DIE propagation context inside probe-finder.
>      - Enhanced the Patch 2 commit message to explicitly detail the removal 
>        of strict optional attribute aborts (decf) to clarify review queries.
> 
>  - **Tags Collected**: Integrated Acked-by tags from Namhyung Kim for Patch 1 
>      and Patch 9.
> 
> v5:
>  - Restructured series from 6 to 9 patches by splitting the libdw commit.
>  - Fixed compilation bisectability and DWARF line 0 filename preservation regressions.
>  - Standardized comment styles and applied safe duplication formatting fixes.
>  - Updated commit messages with detailed optional attribute justifications.
> 
> v4:
>  - Localized and squashed robust error handling, memory/FD cleanup
>    paths, and safe DWARF printing.
> https://lore.kernel.org/linux-perf-users/20260503171032.1559338-1-irogers@google.com/
> 
> v3:
>  - Minor formatting fixes.
> https://lore.kernel.org/linux-perf-users/20260503003552.1063540-1-irogers@google.com/
> 
> v2:
> https://lore.kernel.org/lkml/20260502155656.478642-1-irogers@google.com/
> 
> v1:
> https://lore.kernel.org/linux-perf-users/20260502064839.282422-1-irogers@google.com/
> 
> Ian Rogers (9):
>   perf dwarf-aux: Fix libdw segmentation fault in cu_walk_functions_at
>   perf dwarf-aux: Fix libdw API contract violations
>   perf srcline: Introduce inline_node__clear_frames()
>   perf libdw: Fix callchain parent update in ORDER_CALLER mode
>   perf libdw: Support DWARF line 0 in inline list
>   perf libdw: Fix libdw API contract violations and memory leaks
>   perf probe-finder: Fix libdw API contract violations
>   perf annotate-data: Fix libdw API contract violations
>   perf debuginfo: Fix libdw API contract violations
> 
>  tools/perf/util/annotate-data.c |  27 +++++----
>  tools/perf/util/debuginfo.c     |   9 ++-
>  tools/perf/util/dwarf-aux.c     |  39 ++++++------
>  tools/perf/util/dwarf-aux.h     |   5 ++
>  tools/perf/util/libdw.c         |  72 +++++++++++++++++-----
>  tools/perf/util/probe-finder.c  | 102 ++++++++++++++++++++------------
>  tools/perf/util/srcline.c       |   9 ++-
>  tools/perf/util/srcline.h       |   1 +
>  8 files changed, 179 insertions(+), 85 deletions(-)
> 
> -- 
> 2.54.0.545.g6539524ca2-goog
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes
  2026-05-04 23:50   ` [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes Namhyung Kim
@ 2026-05-05 16:29     ` Ian Rogers
  2026-05-07  8:20       ` Masami Hiramatsu
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Rogers @ 2026-05-05 16:29 UTC (permalink / raw)
  To: Namhyung Kim, Masami Hiramatsu
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa,
	Adrian Hunter, James Clark, Zecheng Li, linux-perf-users,
	linux-kernel

On Mon, May 4, 2026 at 4:50 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> Hi Ian,
>
> Just updated Masami's email address.  Please use it for later.

Thanks Namhyung, I'll make sure in the future. For Masami's benefit
here are the LKML posts:
https://lore.kernel.org/linux-perf-users/afkw4MARqVAYOB2p@google.com/T/#mb887c8aadf50c0371c4cb9273b9a7777591ad99e

The sashiko reviews (the 1 "critical" issue isn't an issue as
mentioned in a separate thread [1]):
https://sashiko.dev/#/patchset/20260504081227.2203848-1-irogers%40google.com

I think the series is ready to land and given that it fixes crashes we
may want to cherry-pick it for 7.1.

Thanks,
Ian

[1] https://lore.kernel.org/linux-perf-users/afkw4MARqVAYOB2p@google.com/T/#mc177f9ef695805b013fce3fecbea7d84dfa937fd

> Thanks,
> Namhyung
>
> On Mon, May 04, 2026 at 01:12:18AM -0700, Ian Rogers wrote:
> > This patch series addresses a number of DWARF/libdw error-handling
> > bugs and contract violations, preventing several real Userspace
> > segmentation faults and memory/FD leaks.
> >
> > In v5, the series has been extensively restructured and polished based on
> > comprehensive review feedback on v4, focusing on history granularity,
> > bisectability, and defensive styling:
> >
> >  - **Commit Splitting for Review Granularity**: Split the previously large
> >      libdw contract fix patch into 4 granular commits to cleanly isolate
> >      independent improvements: introducing clear_frames refactoring, fixing
> >      ORDER_CALLER parent update corruption, adding line 0 support, and
> >      consolidating core contract/leak cleanups.
> >
> >  - **Bisectability & Correctness Hardening**:
> >      - Fixed an unused variable compilation failure (-Werror) in the split
> >        history to guarantee perfect git bisectability.
> >      - Fixed a line 0 fallback regression to ensure that if an optional call
> >        line is missing but the call file is valid, we fallback to line 0
> >        to preserve the filename rather than discarding the caller info entirely.
> >
> >  - **Style & Robustness Polish**:
> >      - Standardized all newly introduced C++ style (//) comments to
> >        preferred C style (/* ... */) comments.
> >      - Implemented explicit safe string duplication style fix in annotate-data.
> >      - Corrected CU DIE propagation context inside probe-finder.
> >      - Enhanced the Patch 2 commit message to explicitly detail the removal
> >        of strict optional attribute aborts (decf) to clarify review queries.
> >
> >  - **Tags Collected**: Integrated Acked-by tags from Namhyung Kim for Patch 1
> >      and Patch 9.
> >
> > v5:
> >  - Restructured series from 6 to 9 patches by splitting the libdw commit.
> >  - Fixed compilation bisectability and DWARF line 0 filename preservation regressions.
> >  - Standardized comment styles and applied safe duplication formatting fixes.
> >  - Updated commit messages with detailed optional attribute justifications.
> >
> > v4:
> >  - Localized and squashed robust error handling, memory/FD cleanup
> >    paths, and safe DWARF printing.
> > https://lore.kernel.org/linux-perf-users/20260503171032.1559338-1-irogers@google.com/
> >
> > v3:
> >  - Minor formatting fixes.
> > https://lore.kernel.org/linux-perf-users/20260503003552.1063540-1-irogers@google.com/
> >
> > v2:
> > https://lore.kernel.org/lkml/20260502155656.478642-1-irogers@google.com/
> >
> > v1:
> > https://lore.kernel.org/linux-perf-users/20260502064839.282422-1-irogers@google.com/
> >
> > Ian Rogers (9):
> >   perf dwarf-aux: Fix libdw segmentation fault in cu_walk_functions_at
> >   perf dwarf-aux: Fix libdw API contract violations
> >   perf srcline: Introduce inline_node__clear_frames()
> >   perf libdw: Fix callchain parent update in ORDER_CALLER mode
> >   perf libdw: Support DWARF line 0 in inline list
> >   perf libdw: Fix libdw API contract violations and memory leaks
> >   perf probe-finder: Fix libdw API contract violations
> >   perf annotate-data: Fix libdw API contract violations
> >   perf debuginfo: Fix libdw API contract violations
> >
> >  tools/perf/util/annotate-data.c |  27 +++++----
> >  tools/perf/util/debuginfo.c     |   9 ++-
> >  tools/perf/util/dwarf-aux.c     |  39 ++++++------
> >  tools/perf/util/dwarf-aux.h     |   5 ++
> >  tools/perf/util/libdw.c         |  72 +++++++++++++++++-----
> >  tools/perf/util/probe-finder.c  | 102 ++++++++++++++++++++------------
> >  tools/perf/util/srcline.c       |   9 ++-
> >  tools/perf/util/srcline.h       |   1 +
> >  8 files changed, 179 insertions(+), 85 deletions(-)
> >
> > --
> > 2.54.0.545.g6539524ca2-goog
> >

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes
       [not found] ` <20260504081227.2203848-1-irogers@google.com>
  2026-05-04 23:50   ` [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes Namhyung Kim
@ 2026-05-06  0:54   ` Arnaldo Carvalho de Melo
  2026-05-07  6:11     ` Namhyung Kim
  1 sibling, 1 reply; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-05-06  0:54 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Namhyung Kim, Jiri Olsa,
	Adrian Hunter, James Clark, Zecheng Li, Masami Hiramatsu,
	linux-perf-users, linux-kernel

On Mon, May 04, 2026 at 01:12:18AM -0700, Ian Rogers wrote:
> This patch series addresses a number of DWARF/libdw error-handling
> bugs and contract violations, preventing several real Userspace
> segmentation faults and memory/FD leaks.

> In v5, the series has been extensively restructured and polished based on 
> comprehensive review feedback on v4, focusing on history granularity, 
> bisectability, and defensive styling:

Thanks, applied to perf-tools-next, for v7.2.

- Arnaldo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes
  2026-05-06  0:54   ` Arnaldo Carvalho de Melo
@ 2026-05-07  6:11     ` Namhyung Kim
  0 siblings, 0 replies; 5+ messages in thread
From: Namhyung Kim @ 2026-05-07  6:11 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ian Rogers, Peter Zijlstra, Ingo Molnar, Jiri Olsa, Adrian Hunter,
	James Clark, Zecheng Li, Masami Hiramatsu, linux-perf-users,
	linux-kernel

On Tue, May 05, 2026 at 09:54:14PM -0300, Arnaldo Carvalho de Melo wrote:
> On Mon, May 04, 2026 at 01:12:18AM -0700, Ian Rogers wrote:
> > This patch series addresses a number of DWARF/libdw error-handling
> > bugs and contract violations, preventing several real Userspace
> > segmentation faults and memory/FD leaks.
> 
> > In v5, the series has been extensively restructured and polished based on 
> > comprehensive review feedback on v4, focusing on history granularity, 
> > bisectability, and defensive styling:
> 
> Thanks, applied to perf-tools-next, for v7.2.

If it isn't too late,

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes
  2026-05-05 16:29     ` Ian Rogers
@ 2026-05-07  8:20       ` Masami Hiramatsu
  0 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2026-05-07  8:20 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Namhyung Kim, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Jiri Olsa, Adrian Hunter, James Clark,
	Zecheng Li, linux-perf-users, linux-kernel

Thanks Ian!

On Tue, 5 May 2026 09:29:13 -0700
Ian Rogers <irogers@google.com> wrote:

> On Mon, May 4, 2026 at 4:50 PM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > Hi Ian,
> >
> > Just updated Masami's email address.  Please use it for later.
> 
> Thanks Namhyung, I'll make sure in the future. For Masami's benefit
> here are the LKML posts:
> https://lore.kernel.org/linux-perf-users/afkw4MARqVAYOB2p@google.com/T/#mb887c8aadf50c0371c4cb9273b9a7777591ad99e
> 
> The sashiko reviews (the 1 "critical" issue isn't an issue as
> mentioned in a separate thread [1]):
> https://sashiko.dev/#/patchset/20260504081227.2203848-1-irogers%40google.com
> 
> I think the series is ready to land and given that it fixes crashes we
> may want to cherry-pick it for 7.1.
> 
> Thanks,
> Ian
> 
> [1] https://lore.kernel.org/linux-perf-users/afkw4MARqVAYOB2p@google.com/T/#mc177f9ef695805b013fce3fecbea7d84dfa937fd
> 

Yeah, the series looks good to me and agreed that the "critical"
issue is not a real problem.

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

for this series.


Thanks,

> > Thanks,
> > Namhyung
> >
> > On Mon, May 04, 2026 at 01:12:18AM -0700, Ian Rogers wrote:
> > > This patch series addresses a number of DWARF/libdw error-handling
> > > bugs and contract violations, preventing several real Userspace
> > > segmentation faults and memory/FD leaks.
> > >
> > > In v5, the series has been extensively restructured and polished based on
> > > comprehensive review feedback on v4, focusing on history granularity,
> > > bisectability, and defensive styling:
> > >
> > >  - **Commit Splitting for Review Granularity**: Split the previously large
> > >      libdw contract fix patch into 4 granular commits to cleanly isolate
> > >      independent improvements: introducing clear_frames refactoring, fixing
> > >      ORDER_CALLER parent update corruption, adding line 0 support, and
> > >      consolidating core contract/leak cleanups.
> > >
> > >  - **Bisectability & Correctness Hardening**:
> > >      - Fixed an unused variable compilation failure (-Werror) in the split
> > >        history to guarantee perfect git bisectability.
> > >      - Fixed a line 0 fallback regression to ensure that if an optional call
> > >        line is missing but the call file is valid, we fallback to line 0
> > >        to preserve the filename rather than discarding the caller info entirely.
> > >
> > >  - **Style & Robustness Polish**:
> > >      - Standardized all newly introduced C++ style (//) comments to
> > >        preferred C style (/* ... */) comments.
> > >      - Implemented explicit safe string duplication style fix in annotate-data.
> > >      - Corrected CU DIE propagation context inside probe-finder.
> > >      - Enhanced the Patch 2 commit message to explicitly detail the removal
> > >        of strict optional attribute aborts (decf) to clarify review queries.
> > >
> > >  - **Tags Collected**: Integrated Acked-by tags from Namhyung Kim for Patch 1
> > >      and Patch 9.
> > >
> > > v5:
> > >  - Restructured series from 6 to 9 patches by splitting the libdw commit.
> > >  - Fixed compilation bisectability and DWARF line 0 filename preservation regressions.
> > >  - Standardized comment styles and applied safe duplication formatting fixes.
> > >  - Updated commit messages with detailed optional attribute justifications.
> > >
> > > v4:
> > >  - Localized and squashed robust error handling, memory/FD cleanup
> > >    paths, and safe DWARF printing.
> > > https://lore.kernel.org/linux-perf-users/20260503171032.1559338-1-irogers@google.com/
> > >
> > > v3:
> > >  - Minor formatting fixes.
> > > https://lore.kernel.org/linux-perf-users/20260503003552.1063540-1-irogers@google.com/
> > >
> > > v2:
> > > https://lore.kernel.org/lkml/20260502155656.478642-1-irogers@google.com/
> > >
> > > v1:
> > > https://lore.kernel.org/linux-perf-users/20260502064839.282422-1-irogers@google.com/
> > >
> > > Ian Rogers (9):
> > >   perf dwarf-aux: Fix libdw segmentation fault in cu_walk_functions_at
> > >   perf dwarf-aux: Fix libdw API contract violations
> > >   perf srcline: Introduce inline_node__clear_frames()
> > >   perf libdw: Fix callchain parent update in ORDER_CALLER mode
> > >   perf libdw: Support DWARF line 0 in inline list
> > >   perf libdw: Fix libdw API contract violations and memory leaks
> > >   perf probe-finder: Fix libdw API contract violations
> > >   perf annotate-data: Fix libdw API contract violations
> > >   perf debuginfo: Fix libdw API contract violations
> > >
> > >  tools/perf/util/annotate-data.c |  27 +++++----
> > >  tools/perf/util/debuginfo.c     |   9 ++-
> > >  tools/perf/util/dwarf-aux.c     |  39 ++++++------
> > >  tools/perf/util/dwarf-aux.h     |   5 ++
> > >  tools/perf/util/libdw.c         |  72 +++++++++++++++++-----
> > >  tools/perf/util/probe-finder.c  | 102 ++++++++++++++++++++------------
> > >  tools/perf/util/srcline.c       |   9 ++-
> > >  tools/perf/util/srcline.h       |   1 +
> > >  8 files changed, 179 insertions(+), 85 deletions(-)
> > >
> > > --
> > > 2.54.0.545.g6539524ca2-goog
> > >


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-05-07  8:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260503171032.1559338-1-irogers@google.com>
     [not found] ` <20260504081227.2203848-1-irogers@google.com>
2026-05-04 23:50   ` [PATCH v5 0/9] [PATCH v5 0/9] perf DWARF: Fix libdw API contract violations and crashes Namhyung Kim
2026-05-05 16:29     ` Ian Rogers
2026-05-07  8:20       ` Masami Hiramatsu
2026-05-06  0:54   ` Arnaldo Carvalho de Melo
2026-05-07  6:11     ` Namhyung Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox