Skip to contentSkip to conversation

perf util: Fix null pointer dereference

PATCH Arnaldo Carvalho de Melo 1 participant 1 message Jun 8, 2020 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

Em Fri, Jun 05, 2020 at 05:17:40PM +0800, Hongbo Yao escreveu:

Quoted 3 lines

If config->aggr_map is Null and config->aggr_get_id is not Null, the function print_aggr() will still calling arrg_update_shadow(), which can result in accessing the invalid pointer.

Looks legit, but you forgot to add this:

Cc Jiri Olsa <[email protected]>
Fixes 088519f318be ("perf stat: Move the display functions to stat-display.c")

That is not completely correct as this is just moving pre-existing code (and bugs) to a different place, but at least the stable guys will get this fix back to a good number of kernels.

Also you forgot to CC lkml,

Thanks, applied.

- Arnaldo

Quoted 30 lines
---
 tools/perf/util/stat-display.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
tools/perf/util/stat-display.c +2 -2
index 3c6976f7574c..57d0706e1330 100644
@@ -668,7 +668,7 @@ static void print_aggr(struct perf_stat_config *config,
 	int s;
 	bool first;
 
-	if (!(config->aggr_map || config->aggr_get_id))
+	if (!config->aggr_map || !config->aggr_get_id)
 		return;
 
 	aggr_update_shadow(config, evlist);
@@ -1169,7 +1169,7 @@ static void print_percore(struct perf_stat_config *config,
 	int s;
 	bool first = true;
 
-	if (!(config->aggr_map || config->aggr_get_id))
+	if (!config->aggr_map || !config->aggr_get_id)
 		return;
 
 	if (config->percore_show_thread)
Signature · 1 line
2.20.1
Signature · 1 line
- Arnaldo