Linux Perf Users
 help / color / mirror / Atom feed
* [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding
@ 2025-04-02 21:13 Ian Rogers
  2025-04-04 18:07 ` Namhyung Kim
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Rogers @ 2025-04-02 21:13 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Ian Rogers, Adrian Hunter, Kan Liang, James Clark,
	linux-perf-users, linux-kernel

The pmu name or alias_name fields may be NULL and should be skipped if
so. This is done in all loops of perf_pmu___name_match except the
final wildcard loop which was an oversight.

Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/pmu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 31f1e617eb20..d27bdf421c19 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
 	}
 	for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
 		const char *name = names[i];
-		
+
+		if (!name)
+			continue;
 		if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
 			return true;
 		if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
-- 
2.49.0.504.g3bcea36a83-goog


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

* Re: [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding
  2025-04-02 21:13 [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding Ian Rogers
@ 2025-04-04 18:07 ` Namhyung Kim
  2025-05-27 20:33   ` Ian Rogers
  0 siblings, 1 reply; 5+ messages in thread
From: Namhyung Kim @ 2025-04-04 18:07 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
	Kan Liang, James Clark, linux-perf-users, linux-kernel

On Wed, Apr 02, 2025 at 02:13:01PM -0700, Ian Rogers wrote:
> The pmu name or alias_name fields may be NULL and should be skipped if
> so. This is done in all loops of perf_pmu___name_match except the
> final wildcard loop which was an oversight.
> 
> Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
> Signed-off-by: Ian Rogers <irogers@google.com>

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

Thanks,
Namhyung

> ---
>  tools/perf/util/pmu.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 31f1e617eb20..d27bdf421c19 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
>  	}
>  	for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
>  		const char *name = names[i];
> -		
> +
> +		if (!name)
> +			continue;
>  		if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
>  			return true;
>  		if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
> -- 
> 2.49.0.504.g3bcea36a83-goog
> 

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

* Re: [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding
  2025-04-04 18:07 ` Namhyung Kim
@ 2025-05-27 20:33   ` Ian Rogers
  2025-05-27 20:57     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Rogers @ 2025-05-27 20:33 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
	Kan Liang, James Clark, linux-perf-users, linux-kernel

On Fri, Apr 4, 2025 at 11:07 AM Namhyung Kim <namhyung@kernel.org> wrote:
>
> On Wed, Apr 02, 2025 at 02:13:01PM -0700, Ian Rogers wrote:
> > The pmu name or alias_name fields may be NULL and should be skipped if
> > so. This is done in all loops of perf_pmu___name_match except the
> > final wildcard loop which was an oversight.
> >
> > Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
> > Signed-off-by: Ian Rogers <irogers@google.com>
>
> Acked-by: Namhyung Kim <namhyung@kernel.org>

Ping.

Thanks,
Ian

> Thanks,
> Namhyung
>
> > ---
> >  tools/perf/util/pmu.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> > index 31f1e617eb20..d27bdf421c19 100644
> > --- a/tools/perf/util/pmu.c
> > +++ b/tools/perf/util/pmu.c
> > @@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
> >       }
> >       for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
> >               const char *name = names[i];
> > -
> > +
> > +             if (!name)
> > +                     continue;
> >               if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
> >                       return true;
> >               if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
> > --
> > 2.49.0.504.g3bcea36a83-goog
> >

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

* Re: [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding
  2025-05-27 20:33   ` Ian Rogers
@ 2025-05-27 20:57     ` Arnaldo Carvalho de Melo
  2025-05-27 21:52       ` Ian Rogers
  0 siblings, 1 reply; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2025-05-27 20:57 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Namhyung Kim, Peter Zijlstra, Ingo Molnar, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Adrian Hunter, Kan Liang,
	James Clark, linux-perf-users, linux-kernel

On Tue, May 27, 2025 at 01:33:35PM -0700, Ian Rogers wrote:
> On Fri, Apr 4, 2025 at 11:07 AM Namhyung Kim <namhyung@kernel.org> wrote:
> > On Wed, Apr 02, 2025 at 02:13:01PM -0700, Ian Rogers wrote:
> > > The pmu name or alias_name fields may be NULL and should be skipped if
> > > so. This is done in all loops of perf_pmu___name_match except the
> > > final wildcard loop which was an oversight.

> > > Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
> > > Signed-off-by: Ian Rogers <irogers@google.com>

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

⬢ [acme@toolbx perf-tools-next]$ patch -p1 < ./20250402_irogers_perf_pmu_avoid_segv_for_missing_name_alias_name_in_wildcarding.mbx
patching file tools/perf/util/pmu.c
Hunk #1 FAILED at 2060.
1 out of 1 hunk FAILED -- saving rejects to file tools/perf/util/pmu.c.rej
⬢ [acme@toolbx perf-tools-next]$ 

⬢ [acme@toolbx perf-tools-next]$ cat tools/perf/util/pmu.c.rej
--- tools/perf/util/pmu.c
+++ tools/perf/util/pmu.c
@@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
 	}
 	for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
 		const char *name = names[i];
-		
+
+		if (!name)
+			continue;
 		if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
 			return true;
 		if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
⬢ [acme@toolbx perf-tools-next]$

⬢ [acme@toolbx perf-tools-next]$ git log --oneline -5 tools/perf/util/pmu.c
754baf426e099fbf perf pmu: Change aliases from list to hashmap
255f5b6d060be5a4 perf parse-events: Add "cpu" term to set the CPU an event is recorded on
fa1332a8011eebe1 perf mem/c2c amd: Add ldlat support
fc807b6bde6ad332 perf pmu-events: Add retirement latency to JSON events inside of perf
58b8b5d142a8bd5c perf cpumap: Increment reference count for online cpumap
⬢ [acme@toolbx perf-tools-next]$ 

Can you please take a look?

- Arnaldo

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

* Re: [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding
  2025-05-27 20:57     ` Arnaldo Carvalho de Melo
@ 2025-05-27 21:52       ` Ian Rogers
  0 siblings, 0 replies; 5+ messages in thread
From: Ian Rogers @ 2025-05-27 21:52 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Namhyung Kim, Peter Zijlstra, Ingo Molnar, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Adrian Hunter, Kan Liang,
	James Clark, linux-perf-users, linux-kernel

On Tue, May 27, 2025 at 1:57 PM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Tue, May 27, 2025 at 01:33:35PM -0700, Ian Rogers wrote:
> > On Fri, Apr 4, 2025 at 11:07 AM Namhyung Kim <namhyung@kernel.org> wrote:
> > > On Wed, Apr 02, 2025 at 02:13:01PM -0700, Ian Rogers wrote:
> > > > The pmu name or alias_name fields may be NULL and should be skipped if
> > > > so. This is done in all loops of perf_pmu___name_match except the
> > > > final wildcard loop which was an oversight.
>
> > > > Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
> > > > Signed-off-by: Ian Rogers <irogers@google.com>
>
> > > Acked-by: Namhyung Kim <namhyung@kernel.org>
>
> > Ping.
>
> ⬢ [acme@toolbx perf-tools-next]$ patch -p1 < ./20250402_irogers_perf_pmu_avoid_segv_for_missing_name_alias_name_in_wildcarding.mbx
> patching file tools/perf/util/pmu.c
> Hunk #1 FAILED at 2060.
> 1 out of 1 hunk FAILED -- saving rejects to file tools/perf/util/pmu.c.rej
> ⬢ [acme@toolbx perf-tools-next]$
>
> ⬢ [acme@toolbx perf-tools-next]$ cat tools/perf/util/pmu.c.rej
> --- tools/perf/util/pmu.c
> +++ tools/perf/util/pmu.c
> @@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
>         }
>         for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
>                 const char *name = names[i];
> -
> +
> +               if (!name)
> +                       continue;
>                 if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
>                         return true;
>                 if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
> ⬢ [acme@toolbx perf-tools-next]$
>
> ⬢ [acme@toolbx perf-tools-next]$ git log --oneline -5 tools/perf/util/pmu.c
> 754baf426e099fbf perf pmu: Change aliases from list to hashmap
> 255f5b6d060be5a4 perf parse-events: Add "cpu" term to set the CPU an event is recorded on
> fa1332a8011eebe1 perf mem/c2c amd: Add ldlat support
> fc807b6bde6ad332 perf pmu-events: Add retirement latency to JSON events inside of perf
> 58b8b5d142a8bd5c perf cpumap: Increment reference count for online cpumap
> ⬢ [acme@toolbx perf-tools-next]$
>
> Can you please take a look?

Done.
https://lore.kernel.org/lkml/20250527215035.187992-1-irogers@google.com/
Not sure what put patch off given the small nature of the change.

Thanks,
Ian

> - Arnaldo

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

end of thread, other threads:[~2025-05-27 21:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-02 21:13 [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding Ian Rogers
2025-04-04 18:07 ` Namhyung Kim
2025-05-27 20:33   ` Ian Rogers
2025-05-27 20:57     ` Arnaldo Carvalho de Melo
2025-05-27 21:52       ` Ian Rogers

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