[PATCH v5 02/10] perf header: Support CPU DOMAIN relation info

Swapnil Sapkal posted 10 patches 2 weeks, 4 days ago
[PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Swapnil Sapkal 2 weeks, 4 days ago
'/proc/schedstat' gives the info about load balancing statistics within
a given domain. It also contains the cpu_mask giving information about
the sibling cpus and domain names after schedstat version 17. Storing
this information in perf header will help tools like `perf sched stats`
for better analysis.

Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>
---
 .../Documentation/perf.data-file-format.txt   |  17 ++
 tools/perf/builtin-inject.c                   |   1 +
 tools/perf/util/env.c                         |  29 ++
 tools/perf/util/env.h                         |  17 ++
 tools/perf/util/header.c                      | 286 ++++++++++++++++++
 tools/perf/util/header.h                      |   1 +
 tools/perf/util/util.c                        |  42 +++
 tools/perf/util/util.h                        |   3 +
 8 files changed, 396 insertions(+)

diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
index c9d4dec65344..0e4d0ecc9e12 100644
--- a/tools/perf/Documentation/perf.data-file-format.txt
+++ b/tools/perf/Documentation/perf.data-file-format.txt
@@ -447,6 +447,23 @@ struct {
 	} [nr_pmu];
 };
 
+	HEADER_CPU_DOMAIN_INFO = 32,
+
+List of cpu-domain relation info. The format of the data is as below.
+
+struct domain_info {
+	int domain;
+	char dname[];
+	char cpumask[];
+	char cpulist[];
+};
+
+struct cpu_domain_info {
+	int cpu;
+	int nr_domains;
+	struct domain_info domains[];
+};
+
 	other bits are reserved and should ignored for now
 	HEADER_FEAT_BITS	= 256,
 
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 6080afec537d..587c180035b2 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -2047,6 +2047,7 @@ static bool keep_feat(struct perf_inject *inject, int feat)
 	case HEADER_CLOCK_DATA:
 	case HEADER_HYBRID_TOPOLOGY:
 	case HEADER_PMU_CAPS:
+	case HEADER_CPU_DOMAIN_INFO:
 		return true;
 	/* Information that can be updated */
 	case HEADER_BUILD_ID:
diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c
index f1626d2032cd..93d475a80f14 100644
--- a/tools/perf/util/env.c
+++ b/tools/perf/util/env.c
@@ -216,6 +216,34 @@ static void perf_env__purge_bpf(struct perf_env *env __maybe_unused)
 }
 #endif // HAVE_LIBBPF_SUPPORT
 
+void free_cpu_domain_info(struct cpu_domain_map **cd_map, u32 schedstat_version, u32 nr)
+{
+	if (!cd_map)
+		return;
+
+	for (u32 i = 0; i < nr; i++) {
+		if (!cd_map[i])
+			continue;
+
+		for (u32 j = 0; j < cd_map[i]->nr_domains; j++) {
+			struct domain_info *d_info = cd_map[i]->domains[j];
+
+			if (!d_info)
+				continue;
+
+			if (schedstat_version >= 17)
+				zfree(&d_info->dname);
+
+			zfree(&d_info->cpumask);
+			zfree(&d_info->cpulist);
+			zfree(&d_info);
+		}
+		zfree(&cd_map[i]->domains);
+		zfree(&cd_map[i]);
+	}
+	zfree(&cd_map);
+}
+
 void perf_env__exit(struct perf_env *env)
 {
 	int i, j;
@@ -265,6 +293,7 @@ void perf_env__exit(struct perf_env *env)
 		zfree(&env->pmu_caps[i].pmu_name);
 	}
 	zfree(&env->pmu_caps);
+	free_cpu_domain_info(env->cpu_domain, env->schedstat_version, env->nr_cpus_avail);
 }
 
 void perf_env__init(struct perf_env *env)
diff --git a/tools/perf/util/env.h b/tools/perf/util/env.h
index 9977b85523a8..76ba1a36e9ff 100644
--- a/tools/perf/util/env.h
+++ b/tools/perf/util/env.h
@@ -54,6 +54,19 @@ struct pmu_caps {
 	char            *pmu_name;
 };
 
+struct domain_info {
+	u32	domain;
+	char	*dname;
+	char	*cpumask;
+	char	*cpulist;
+};
+
+struct cpu_domain_map {
+	u32			cpu;
+	u32			nr_domains;
+	struct domain_info	**domains;
+};
+
 typedef const char *(arch_syscalls__strerrno_t)(int err);
 
 struct perf_env {
@@ -70,6 +83,8 @@ struct perf_env {
 	unsigned int		max_branches;
 	unsigned int		br_cntr_nr;
 	unsigned int		br_cntr_width;
+	unsigned int		schedstat_version;
+	unsigned int		max_sched_domains;
 	int			kernel_is_64_bit;
 
 	int			nr_cmdline;
@@ -92,6 +107,7 @@ struct perf_env {
 	char			**cpu_pmu_caps;
 	struct cpu_topology_map	*cpu;
 	struct cpu_cache_level	*caches;
+	struct cpu_domain_map	**cpu_domain;
 	int			 caches_cnt;
 	u32			comp_ratio;
 	u32			comp_ver;
@@ -151,6 +167,7 @@ struct bpf_prog_info_node;
 struct btf_node;
 
 int perf_env__read_core_pmu_caps(struct perf_env *env);
+void free_cpu_domain_info(struct cpu_domain_map **cd_map, u32 schedstat_version, u32 nr);
 void perf_env__exit(struct perf_env *env);
 
 int perf_env__kernel_is_64_bit(struct perf_env *env);
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index f5cad377c99e..673d53bb2a2c 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1614,6 +1614,162 @@ static int write_pmu_caps(struct feat_fd *ff,
 	return 0;
 }
 
+static struct cpu_domain_map **build_cpu_domain_map(u32 *schedstat_version, u32 *max_sched_domains,
+						    u32 nr)
+{
+	struct domain_info *domain_info;
+	struct cpu_domain_map **cd_map;
+	char dname[16], cpumask[256];
+	char cpulist[1024];
+	char *line = NULL;
+	u32 cpu, domain;
+	u32 dcount = 0;
+	size_t len;
+	FILE *fp;
+
+	fp = fopen("/proc/schedstat", "r");
+	if (!fp) {
+		pr_err("Failed to open /proc/schedstat\n");
+		return NULL;
+	}
+
+	cd_map = zalloc(sizeof(*cd_map) * nr);
+	if (!cd_map)
+		goto out;
+
+	while (getline(&line, &len, fp) > 0) {
+		int retval;
+
+		if (strncmp(line, "version", 7) == 0) {
+			retval = sscanf(line, "version %d\n", schedstat_version);
+			if (retval != 1)
+				continue;
+
+		} else if (strncmp(line, "cpu", 3) == 0) {
+			retval = sscanf(line, "cpu%u %*s", &cpu);
+			if (retval == 1) {
+				cd_map[cpu] = zalloc(sizeof(*cd_map[cpu]));
+				if (!cd_map[cpu])
+					goto out_free_line;
+				cd_map[cpu]->cpu = cpu;
+			} else
+				continue;
+
+			dcount = 0;
+		} else if (strncmp(line, "domain", 6) == 0) {
+			struct domain_info **temp_domains;
+
+			dcount++;
+			temp_domains = realloc(cd_map[cpu]->domains, dcount * sizeof(domain_info));
+			if (!temp_domains)
+				goto out_free_line;
+			else
+				cd_map[cpu]->domains = temp_domains;
+
+			domain_info = zalloc(sizeof(*domain_info));
+			if (!domain_info)
+				goto out_free_line;
+
+			cd_map[cpu]->domains[dcount - 1] = domain_info;
+
+			if (*schedstat_version >= 17) {
+				retval = sscanf(line, "domain%u %s %s %*s", &domain, dname,
+						cpumask);
+				if (retval != 3)
+					continue;
+
+				domain_info->dname = strdup(dname);
+				if (!domain_info->dname)
+					goto out_free_line;
+			} else {
+				retval = sscanf(line, "domain%u %s %*s", &domain, cpumask);
+				if (retval != 2)
+					continue;
+			}
+
+			domain_info->domain = domain;
+			if (domain > *max_sched_domains)
+				*max_sched_domains = domain;
+
+			domain_info->cpumask = strdup(cpumask);
+			if (!domain_info->cpumask)
+				goto out_free_line;
+
+			cpumask_to_cpulist(cpumask, cpulist);
+			domain_info->cpulist = strdup(cpulist);
+			if (!domain_info->cpulist)
+				goto out_free_line;
+
+			cd_map[cpu]->nr_domains = dcount;
+		}
+	}
+
+out_free_line:
+	free(line);
+out:
+	fclose(fp);
+	return cd_map;
+}
+
+static int write_cpu_domain_info(struct feat_fd *ff,
+				 struct evlist *evlist __maybe_unused)
+{
+	u32 max_sched_domains = 0, schedstat_version = 0;
+	struct cpu_domain_map **cd_map;
+	u32 i, j, nr, ret;
+
+	nr = cpu__max_present_cpu().cpu;
+
+	cd_map = build_cpu_domain_map(&schedstat_version, &max_sched_domains, nr);
+	if (!cd_map)
+		return -1;
+
+	ret = do_write(ff, &schedstat_version, sizeof(u32));
+	if (ret < 0)
+		goto out;
+
+	max_sched_domains += 1;
+	ret = do_write(ff, &max_sched_domains, sizeof(u32));
+	if (ret < 0)
+		goto out;
+
+	for (i = 0; i < nr; i++) {
+		if (!cd_map[i])
+			continue;
+
+		ret = do_write(ff, &cd_map[i]->cpu, sizeof(u32));
+		if (ret < 0)
+			goto out;
+
+		ret = do_write(ff, &cd_map[i]->nr_domains, sizeof(u32));
+		if (ret < 0)
+			goto out;
+
+		for (j = 0; j < cd_map[i]->nr_domains; j++) {
+			ret = do_write(ff, &cd_map[i]->domains[j]->domain, sizeof(u32));
+			if (ret < 0)
+				goto out;
+			if (schedstat_version >= 17) {
+				ret = do_write_string(ff, cd_map[i]->domains[j]->dname);
+				if (ret < 0)
+					goto out;
+			}
+
+			ret = do_write_string(ff, cd_map[i]->domains[j]->cpumask);
+			if (ret < 0)
+				goto out;
+
+			ret = do_write_string(ff, cd_map[i]->domains[j]->cpulist);
+			if (ret < 0)
+				goto out;
+		}
+	}
+
+out:
+	free_cpu_domain_info(cd_map, schedstat_version, nr);
+	return ret;
+}
+
 static void print_hostname(struct feat_fd *ff, FILE *fp)
 {
 	fprintf(fp, "# hostname : %s\n", ff->ph->env.hostname);
@@ -2247,6 +2403,39 @@ static void print_mem_topology(struct feat_fd *ff, FILE *fp)
 	}
 }
 
+static void print_cpu_domain_info(struct feat_fd *ff, FILE *fp)
+{
+	struct cpu_domain_map **cd_map = ff->ph->env.cpu_domain;
+	u32 nr = ff->ph->env.nr_cpus_avail;
+	struct domain_info *d_info;
+	u32 i, j;
+
+	fprintf(fp, "# schedstat version	: %u\n", ff->ph->env.schedstat_version);
+	fprintf(fp, "# Maximum sched domains	: %u\n", ff->ph->env.max_sched_domains);
+
+	for (i = 0; i < nr; i++) {
+		if (!cd_map[i])
+			continue;
+
+		fprintf(fp, "# cpu		: %u\n", cd_map[i]->cpu);
+		fprintf(fp, "# nr_domains	: %u\n", cd_map[i]->nr_domains);
+
+		for (j = 0; j < cd_map[i]->nr_domains; j++) {
+			d_info = cd_map[i]->domains[j];
+			if (!d_info)
+				continue;
+
+			fprintf(fp, "# Domain		: %u\n", d_info->domain);
+
+			if (ff->ph->env.schedstat_version >= 17)
+				fprintf(fp, "# Domain name      : %s\n", d_info->dname);
+
+			fprintf(fp, "# Domain cpu map   : %s\n", d_info->cpumask);
+			fprintf(fp, "# Domain cpu list  : %s\n", d_info->cpulist);
+		}
+	}
+}
+
 static int __event_process_build_id(struct perf_record_header_build_id *bev,
 				    char *filename,
 				    struct perf_session *session)
@@ -3388,6 +3577,102 @@ static int process_pmu_caps(struct feat_fd *ff, void *data __maybe_unused)
 	return ret;
 }
 
+static int process_cpu_domain_info(struct feat_fd *ff, void *data __maybe_unused)
+{
+	u32 schedstat_version, max_sched_domains, cpu, domain, nr_domains;
+	struct perf_env *env = &ff->ph->env;
+	char *dname, *cpumask, *cpulist;
+	struct cpu_domain_map **cd_map;
+	struct domain_info *d_info;
+	u32 nra, nr, i, j;
+	int ret;
+
+	nra = env->nr_cpus_avail;
+	nr = env->nr_cpus_online;
+
+	cd_map = zalloc(sizeof(*cd_map) * nra);
+	if (!cd_map)
+		return -1;
+
+	env->cpu_domain = cd_map;
+
+	ret = do_read_u32(ff, &schedstat_version);
+	if (ret)
+		return ret;
+
+	env->schedstat_version = schedstat_version;
+
+	ret = do_read_u32(ff, &max_sched_domains);
+	if (ret)
+		return ret;
+
+	env->max_sched_domains = max_sched_domains;
+
+	for (i = 0; i < nr; i++) {
+		if (do_read_u32(ff, &cpu))
+			return -1;
+
+		cd_map[cpu] = zalloc(sizeof(*cd_map[cpu]));
+		if (!cd_map[cpu])
+			return -1;
+
+		cd_map[cpu]->cpu = cpu;
+
+		if (do_read_u32(ff, &nr_domains))
+			return -1;
+
+		cd_map[cpu]->nr_domains = nr_domains;
+
+		cd_map[cpu]->domains = zalloc(sizeof(*d_info) * max_sched_domains);
+		if (!cd_map[cpu]->domains)
+			return -1;
+
+		for (j = 0; j < nr_domains; j++) {
+			if (do_read_u32(ff, &domain))
+				return -1;
+
+			d_info = zalloc(sizeof(*d_info));
+			if (!d_info)
+				return -1;
+
+			cd_map[cpu]->domains[domain] = d_info;
+			d_info->domain = domain;
+
+			if (schedstat_version >= 17) {
+				dname = do_read_string(ff);
+				if (!dname)
+					return -1;
+
+				d_info->dname = zalloc(strlen(dname) + 1);
+				if (!d_info->dname)
+					return -1;
+
+				d_info->dname = strdup(dname);
+			}
+
+			cpumask = do_read_string(ff);
+			if (!cpumask)
+				return -1;
+
+			d_info->cpumask = zalloc(strlen(cpumask) + 1);
+			if (!d_info->cpumask)
+				return -1;
+			d_info->cpumask = strdup(cpumask);
+
+			cpulist = do_read_string(ff);
+			if (!cpulist)
+				return -1;
+
+			d_info->cpulist = zalloc(strlen(cpulist) + 1);
+			if (!d_info->cpulist)
+				return -1;
+			d_info->cpulist = strdup(cpulist);
+		}
+	}
+
+	return ret;
+}
+
 #define FEAT_OPR(n, func, __full_only) \
 	[HEADER_##n] = {					\
 		.name	    = __stringify(n),			\
@@ -3453,6 +3738,7 @@ const struct perf_header_feature_ops feat_ops[HEADER_LAST_FEATURE] = {
 	FEAT_OPR(CLOCK_DATA,	clock_data,	false),
 	FEAT_OPN(HYBRID_TOPOLOGY,	hybrid_topology,	true),
 	FEAT_OPR(PMU_CAPS,	pmu_caps,	false),
+	FEAT_OPR(CPU_DOMAIN_INFO,	cpu_domain_info,	true),
 };
 
 struct header_print_data {
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h
index c058021c3150..c62f3275a80f 100644
--- a/tools/perf/util/header.h
+++ b/tools/perf/util/header.h
@@ -53,6 +53,7 @@ enum {
 	HEADER_CLOCK_DATA,
 	HEADER_HYBRID_TOPOLOGY,
 	HEADER_PMU_CAPS,
+	HEADER_CPU_DOMAIN_INFO,
 	HEADER_LAST_FEATURE,
 	HEADER_FEAT_BITS	= 256,
 };
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index 0f031eb80b4c..b87ff96a9f45 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -257,6 +257,48 @@ static int rm_rf_kcore_dir(const char *path)
 	return 0;
 }
 
+void cpumask_to_cpulist(char *cpumask, char *cpulist)
+{
+	int i, j, bm_size, nbits;
+	int len = strlen(cpumask);
+	unsigned long *bm;
+	char cpus[1024];
+
+	for (i = 0; i < len; i++) {
+		if (cpumask[i] == ',') {
+			for (j = i; j < len; j++)
+				cpumask[j] = cpumask[j + 1];
+		}
+	}
+
+	len = strlen(cpumask);
+	bm_size = (len + 15) / 16;
+	nbits = bm_size * 64;
+	if (nbits <= 0)
+		return;
+
+	bm = calloc(bm_size, sizeof(unsigned long));
+	if (!cpumask)
+		goto free_bm;
+
+	for (i = 0; i < bm_size; i++) {
+		char blk[17];
+		int blklen = len > 16 ? 16 : len;
+
+		strncpy(blk, cpumask + len - blklen, blklen);
+		blk[blklen] = '\0';
+		bm[i] = strtoul(blk, NULL, 16);
+		cpumask[len - blklen] = '\0';
+		len = strlen(cpumask);
+	}
+
+	bitmap_scnprintf(bm, nbits, cpus, sizeof(cpus));
+	strcpy(cpulist, cpus);
+
+free_bm:
+	free(bm);
+}
+
 int rm_rf_perf_data(const char *path)
 {
 	const char *pat[] = {
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 3423778e39a5..1572c8cf04e5 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -11,6 +11,7 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <linux/compiler.h>
+#include <linux/bitmap.h>
 #include <sys/types.h>
 #ifndef __cplusplus
 #include <internal/cpumap.h>
@@ -48,6 +49,8 @@ bool sysctl__nmi_watchdog_enabled(void);
 
 int perf_tip(char **strp, const char *dirpath);
 
+void cpumask_to_cpulist(char *cpumask, char *cpulist);
+
 #ifndef HAVE_SCHED_GETCPU_SUPPORT
 int sched_getcpu(void);
 #endif
-- 
2.43.0
Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by kernel test robot 1 week, 4 days ago

Hello,

kernel test robot noticed "kmsg.sanitizer.direct_leak/calloc/zalloc/process_cpu_domain_info/perf_file_section__process/perf_header__process_sections/perf_session__read_header" on:

commit: 6f993818d20c79b874f546cec1dcce40a9927c7b ("[PATCH v5 02/10] perf header: Support CPU DOMAIN relation info")
url: https://github.com/intel-lab-lkp/linux/commits/Swapnil-Sapkal/tools-lib-Add-list_is_first/20260120-021007
base: https://git.kernel.org/cgit/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
patch link: https://lore.kernel.org/all/20260119175833.340369-3-swapnil.sapkal@amd.com/
patch subject: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info

in testcase: perf-sanity-tests
version: 
with following parameters:

	perf_compiler: gcc
	group: group-02



config: x86_64-rhel-9.4-bpf
compiler: gcc-14
test machine: 256 threads 4 sockets INTEL(R) XEON(R) PLATINUM 8592+ (Emerald Rapids) with 256G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)




If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202601262235.ee84b79e-lkp@intel.com


we found below tests impacted.

=========================================================================================
tbox_group/testcase/rootfs/kconfig/compiler/perf_compiler/group:
  lkp-emr-2sp1/perf-sanity-tests/debian-13-x86_64-20250902.cgz/x86_64-rhel-9.4-bpf/gcc-14/gcc/group-02

4d991caa3f1e36c3 6f993818d20c79b874f546cec1d
---------------- ---------------------------
       fail:runs  %reproduction    fail:runs
           |             |             |
           :6          100%           6:6     perf-sanity-tests.build_id_cache_operations.fail
           :6          100%           6:6     perf-sanity-tests.perf_evlist_tests.fail
           :6          100%           6:6     perf-sanity-tests.perf_header_tests.fail




2026-01-24 13:53:34 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 80 -v
 80: build id cache operations                                       : Running (1 active)
--- start ---
test child forked, pid 14171
WARNING: perf not built with libbfd. PE binaries will not be tested.
WARNING: wine not found. PE binaries will not be run.
test binaries: /tmp/perf_buildid_test.ex.SHA1.fdj /tmp/perf_buildid_test.ex.MD5.U8m /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/tests/shell/../pe-file.exe
DEBUGINFOD_URLS=
Downloading debug info with build id 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
Adding 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11 /tmp/perf_buildid_test.ex.SHA1.fdj: Ok
build id: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
link: /tmp/perf_buildid_test.debug.PIE/.build-id/89/e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
file: /tmp/perf_buildid_test.debug.PIE/.build-id/89/../../tmp/perf_buildid_test.ex.SHA1.fdj/89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11/elf
OK for /tmp/perf_buildid_test.ex.SHA1.fdj
DEBUGINFOD_URLS=
Downloading debug info with build id ee26502b2cb816e82d08fd203ebf46b4
Adding ee26502b2cb816e82d08fd203ebf46b4 /tmp/perf_buildid_test.ex.MD5.U8m: Ok
build id: ee26502b2cb816e82d08fd203ebf46b4
link: /tmp/perf_buildid_test.debug.dem/.build-id/ee/26502b2cb816e82d08fd203ebf46b4
file: /tmp/perf_buildid_test.debug.dem/.build-id/ee/../../tmp/perf_buildid_test.ex.MD5.U8m/ee26502b2cb816e82d08fd203ebf46b4/elf
OK for /tmp/perf_buildid_test.ex.MD5.U8m
running: perf record /tmp/perf_buildid_test.ex.SHA1.fdj
build id: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
link: /tmp/perf_buildid_test.debug.T5w/.build-id/89/e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
file: /tmp/perf_buildid_test.debug.T5w/.build-id/89/../../tmp/perf_buildid_test.ex.SHA1.fdj/89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11/elf

=================================================================
==14272==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x563053942c76 in do_read_string util/header.c:261
    #2 0x563053967c30 in process_cpu_domain_info util/header.c:3653
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
    #2 0x563053967c7f in process_cpu_domain_info util/header.c:3657
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x563053942c76 in do_read_string util/header.c:261
    #2 0x563053967a1c in process_cpu_domain_info util/header.c:3642
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x563053942c76 in do_read_string util/header.c:261
    #2 0x563053967e44 in process_cpu_domain_info util/header.c:3662
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
    #2 0x563053967e93 in process_cpu_domain_info util/header.c:3666
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
    #2 0x563053967a6b in process_cpu_domain_info util/header.c:3646
    #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
    #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
    #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
    #6 0x5630539cd802 in perf_session__open util/session.c:54
    #7 0x5630539cea98 in __perf_session__new util/session.c:168
    #8 0x5630532b6d43 in perf_session__new util/session.h:116
    #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
    #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
    #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
failed: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11 is not reported by "perf buildid-list -i /tmp/perf_buildid_test.data.9pp"
Unexpected signal in check
---- end(-1) ----
 80: build id cache operations                                       : FAILED!


...


2026-01-24 13:55:59 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 85 -v
 85: perf evlist tests                                               : Running (1 active)
--- start ---
test child forked, pid 15479
Simple evlist test

=================================================================
==15499==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55c6557f9c76 in do_read_string util/header.c:261
    #2 0x55c65581ec30 in process_cpu_domain_info util/header.c:3653
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
    #2 0x55c65581ec7f in process_cpu_domain_info util/header.c:3657
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55c6557f9c76 in do_read_string util/header.c:261
    #2 0x55c65581ea1c in process_cpu_domain_info util/header.c:3642
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55c6557f9c76 in do_read_string util/header.c:261
    #2 0x55c65581ee44 in process_cpu_domain_info util/header.c:3662
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
    #2 0x55c65581ee93 in process_cpu_domain_info util/header.c:3666
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
    #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
    #2 0x55c65581ea6b in process_cpu_domain_info util/header.c:3646
    #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
    #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
    #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
    #6 0x55c655884802 in perf_session__open util/session.c:54
    #7 0x55c655885a98 in __perf_session__new util/session.c:168
    #8 0x55c6551528d3 in perf_session__new util/session.h:116
    #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
Simple evlist [Failed to list event]
Group evlist test

=================================================================
==15528==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x56040444bc76 in do_read_string util/header.c:261
    #2 0x560404470c30 in process_cpu_domain_info util/header.c:3653
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
    #2 0x560404470c7f in process_cpu_domain_info util/header.c:3657
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x56040444bc76 in do_read_string util/header.c:261
    #2 0x560404470a1c in process_cpu_domain_info util/header.c:3642
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x56040444bc76 in do_read_string util/header.c:261
    #2 0x560404470e44 in process_cpu_domain_info util/header.c:3662
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
    #2 0x560404470e93 in process_cpu_domain_info util/header.c:3666
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
    #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
    #2 0x560404470a6b in process_cpu_domain_info util/header.c:3646
    #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
    #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
    #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
    #6 0x5604044d6802 in perf_session__open util/session.c:54
    #7 0x5604044d7a98 in __perf_session__new util/session.c:168
    #8 0x560403da48d3 in perf_session__new util/session.h:116
    #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
Group evlist [Failed to list event group]
Event configuration evlist test

=================================================================
==15547==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x559f7b345c76 in do_read_string util/header.c:261
    #2 0x559f7b36ac30 in process_cpu_domain_info util/header.c:3653
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
    #2 0x559f7b36ac7f in process_cpu_domain_info util/header.c:3657
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x559f7b345c76 in do_read_string util/header.c:261
    #2 0x559f7b36aa1c in process_cpu_domain_info util/header.c:3642
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x559f7b345c76 in do_read_string util/header.c:261
    #2 0x559f7b36ae44 in process_cpu_domain_info util/header.c:3662
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
    #2 0x559f7b36ae93 in process_cpu_domain_info util/header.c:3666
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
    #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
    #2 0x559f7b36aa6b in process_cpu_domain_info util/header.c:3646
    #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
    #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
    #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
    #6 0x559f7b3d0802 in perf_session__open util/session.c:54
    #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
    #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
    #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
    #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
    #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
Event configuration evlist [Failed to list verbose info]
---- end(-1) ----
 85: perf evlist tests                                               : FAILED!


...


2026-01-24 13:56:27 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 87 -v
 87: perf header tests                                               : Running (1 active)
--- start ---
test child forked, pid 15636
Test perf header file
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.213 MB /tmp/__perf_test_header.perf.data.LAgPK (4662 samples) ]

=================================================================
==15661==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55684cf14c76 in do_read_string util/header.c:261
    #2 0x55684cf39c30 in process_cpu_domain_info util/header.c:3653
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
    #2 0x55684cf39c7f in process_cpu_domain_info util/header.c:3657
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55684cf14c76 in do_read_string util/header.c:261
    #2 0x55684cf39a1c in process_cpu_domain_info util/header.c:3642
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x55684cf14c76 in do_read_string util/header.c:261
    #2 0x55684cf39e44 in process_cpu_domain_info util/header.c:3662
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
    #2 0x55684cf39e93 in process_cpu_domain_info util/header.c:3666
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
    #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
    #2 0x55684cf39a6b in process_cpu_domain_info util/header.c:3646
    #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
    #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
    #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
    #6 0x55684cf9f802 in perf_session__open util/session.c:54
    #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
    #8 0x55684c8cf199 in perf_session__new util/session.h:116
    #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
    #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
    #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
    #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
    #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
    #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
    #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)

SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
Unexpected signal in test_file
---- end(-1) ----
 87: perf header tests                                               : FAILED!



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260126/202601262235.ee84b79e-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Ian Rogers 1 week, 4 days ago
On Mon, Jan 26, 2026 at 6:47 AM kernel test robot <oliver.sang@intel.com> wrote:
>
>
>
> Hello,
>
> kernel test robot noticed "kmsg.sanitizer.direct_leak/calloc/zalloc/process_cpu_domain_info/perf_file_section__process/perf_header__process_sections/perf_session__read_header" on:
>
> commit: 6f993818d20c79b874f546cec1dcce40a9927c7b ("[PATCH v5 02/10] perf header: Support CPU DOMAIN relation info")
> url: https://github.com/intel-lab-lkp/linux/commits/Swapnil-Sapkal/tools-lib-Add-list_is_first/20260120-021007
> base: https://git.kernel.org/cgit/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
> patch link: https://lore.kernel.org/all/20260119175833.340369-3-swapnil.sapkal@amd.com/
> patch subject: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
>
> in testcase: perf-sanity-tests
> version:
> with following parameters:
>
>         perf_compiler: gcc
>         group: group-02
>
>
>
> config: x86_64-rhel-9.4-bpf
> compiler: gcc-14
> test machine: 256 threads 4 sockets INTEL(R) XEON(R) PLATINUM 8592+ (Emerald Rapids) with 256G memory
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang@intel.com>
> | Closes: https://lore.kernel.org/oe-lkp/202601262235.ee84b79e-lkp@intel.com

As always thanks for the testing! I believe this issue is addressed by:
https://lore.kernel.org/lkml/20260122213516.671089-2-irogers@google.com/
which is merged into the perf-tools-next tree:
https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/?h=perf-tools-next&id=d84f24c898864facc13412a58b78964f6a769d76

Thanks,
Ian

> we found below tests impacted.
>
> =========================================================================================
> tbox_group/testcase/rootfs/kconfig/compiler/perf_compiler/group:
>   lkp-emr-2sp1/perf-sanity-tests/debian-13-x86_64-20250902.cgz/x86_64-rhel-9.4-bpf/gcc-14/gcc/group-02
>
> 4d991caa3f1e36c3 6f993818d20c79b874f546cec1d
> ---------------- ---------------------------
>        fail:runs  %reproduction    fail:runs
>            |             |             |
>            :6          100%           6:6     perf-sanity-tests.build_id_cache_operations.fail
>            :6          100%           6:6     perf-sanity-tests.perf_evlist_tests.fail
>            :6          100%           6:6     perf-sanity-tests.perf_header_tests.fail
>
>
>
>
> 2026-01-24 13:53:34 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 80 -v
>  80: build id cache operations                                       : Running (1 active)
> --- start ---
> test child forked, pid 14171
> WARNING: perf not built with libbfd. PE binaries will not be tested.
> WARNING: wine not found. PE binaries will not be run.
> test binaries: /tmp/perf_buildid_test.ex.SHA1.fdj /tmp/perf_buildid_test.ex.MD5.U8m /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/tests/shell/../pe-file.exe
> DEBUGINFOD_URLS=
> Downloading debug info with build id 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
> Adding 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11 /tmp/perf_buildid_test.ex.SHA1.fdj: Ok
> build id: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
> link: /tmp/perf_buildid_test.debug.PIE/.build-id/89/e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
> file: /tmp/perf_buildid_test.debug.PIE/.build-id/89/../../tmp/perf_buildid_test.ex.SHA1.fdj/89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11/elf
> OK for /tmp/perf_buildid_test.ex.SHA1.fdj
> DEBUGINFOD_URLS=
> Downloading debug info with build id ee26502b2cb816e82d08fd203ebf46b4
> Adding ee26502b2cb816e82d08fd203ebf46b4 /tmp/perf_buildid_test.ex.MD5.U8m: Ok
> build id: ee26502b2cb816e82d08fd203ebf46b4
> link: /tmp/perf_buildid_test.debug.dem/.build-id/ee/26502b2cb816e82d08fd203ebf46b4
> file: /tmp/perf_buildid_test.debug.dem/.build-id/ee/../../tmp/perf_buildid_test.ex.MD5.U8m/ee26502b2cb816e82d08fd203ebf46b4/elf
> OK for /tmp/perf_buildid_test.ex.MD5.U8m
> running: perf record /tmp/perf_buildid_test.ex.SHA1.fdj
> build id: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
> link: /tmp/perf_buildid_test.debug.T5w/.build-id/89/e03056b3c150ac13d49ad72e7ccfe9e8e1fb11
> file: /tmp/perf_buildid_test.debug.T5w/.build-id/89/../../tmp/perf_buildid_test.ex.SHA1.fdj/89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11/elf
>
> =================================================================
> ==14272==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x563053942c76 in do_read_string util/header.c:261
>     #2 0x563053967c30 in process_cpu_domain_info util/header.c:3653
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x563053967c7f in process_cpu_domain_info util/header.c:3657
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x563053942c76 in do_read_string util/header.c:261
>     #2 0x563053967a1c in process_cpu_domain_info util/header.c:3642
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x563053942c76 in do_read_string util/header.c:261
>     #2 0x563053967e44 in process_cpu_domain_info util/header.c:3662
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x563053967e93 in process_cpu_domain_info util/header.c:3666
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3a7fd98610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x56305353dd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x563053967a6b in process_cpu_domain_info util/header.c:3646
>     #3 0x56305396f9f3 in perf_file_section__process util/header.c:4386
>     #4 0x56305396cfb5 in perf_header__process_sections util/header.c:4144
>     #5 0x563053971ef1 in perf_session__read_header util/header.c:4620
>     #6 0x5630539cd802 in perf_session__open util/session.c:54
>     #7 0x5630539cea98 in __perf_session__new util/session.c:168
>     #8 0x5630532b6d43 in perf_session__new util/session.h:116
>     #9 0x5630532b798b in perf_session__list_build_ids /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:113
>     #10 0x5630532b8891 in cmd_buildid_list /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-buildid-list.c:175
>     #11 0x5630535113bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x563053511b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x5630535120e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x563053512851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3a75ac0ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3a75ac0d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x563053277310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
> failed: 89e03056b3c150ac13d49ad72e7ccfe9e8e1fb11 is not reported by "perf buildid-list -i /tmp/perf_buildid_test.data.9pp"
> Unexpected signal in check
> ---- end(-1) ----
>  80: build id cache operations                                       : FAILED!
>
>
> ...
>
>
> 2026-01-24 13:55:59 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 85 -v
>  85: perf evlist tests                                               : Running (1 active)
> --- start ---
> test child forked, pid 15479
> Simple evlist test
>
> =================================================================
> ==15499==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55c6557f9c76 in do_read_string util/header.c:261
>     #2 0x55c65581ec30 in process_cpu_domain_info util/header.c:3653
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55c65581ec7f in process_cpu_domain_info util/header.c:3657
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55c6557f9c76 in do_read_string util/header.c:261
>     #2 0x55c65581ea1c in process_cpu_domain_info util/header.c:3642
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55c6557f9c76 in do_read_string util/header.c:261
>     #2 0x55c65581ee44 in process_cpu_domain_info util/header.c:3662
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55c65581ee93 in process_cpu_domain_info util/header.c:3666
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f3c9bf85610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55c6553f4d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55c65581ea6b in process_cpu_domain_info util/header.c:3646
>     #3 0x55c6558269f3 in perf_file_section__process util/header.c:4386
>     #4 0x55c655823fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55c655828ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55c655884802 in perf_session__open util/session.c:54
>     #7 0x55c655885a98 in __perf_session__new util/session.c:168
>     #8 0x55c6551528d3 in perf_session__new util/session.h:116
>     #9 0x55c655152d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x55c655153e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x55c6553c83bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x55c6553c8b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x55c6553c90e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x55c6553c9851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f3c91cadca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f3c91cadd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x55c65512e310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
> Simple evlist [Failed to list event]
> Group evlist test
>
> =================================================================
> ==15528==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x56040444bc76 in do_read_string util/header.c:261
>     #2 0x560404470c30 in process_cpu_domain_info util/header.c:3653
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x560404470c7f in process_cpu_domain_info util/header.c:3657
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x56040444bc76 in do_read_string util/header.c:261
>     #2 0x560404470a1c in process_cpu_domain_info util/header.c:3642
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5dfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x56040444bc76 in do_read_string util/header.c:261
>     #2 0x560404470e44 in process_cpu_domain_info util/header.c:3662
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x560404470e93 in process_cpu_domain_info util/header.c:3666
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
>     #0 0x7efcde5df610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x560404046d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x560404470a6b in process_cpu_domain_info util/header.c:3646
>     #3 0x5604044789f3 in perf_file_section__process util/header.c:4386
>     #4 0x560404475fb5 in perf_header__process_sections util/header.c:4144
>     #5 0x56040447aef1 in perf_session__read_header util/header.c:4620
>     #6 0x5604044d6802 in perf_session__open util/session.c:54
>     #7 0x5604044d7a98 in __perf_session__new util/session.c:168
>     #8 0x560403da48d3 in perf_session__new util/session.h:116
>     #9 0x560403da4d1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x560403da5e1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x56040401a3bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x56040401ab8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x56040401b0e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x56040401b851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7efcd4307ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7efcd4307d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x560403d80310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
> Group evlist [Failed to list event group]
> Event configuration evlist test
>
> =================================================================
> ==15547==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x559f7b345c76 in do_read_string util/header.c:261
>     #2 0x559f7b36ac30 in process_cpu_domain_info util/header.c:3653
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x559f7b36ac7f in process_cpu_domain_info util/header.c:3657
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x559f7b345c76 in do_read_string util/header.c:261
>     #2 0x559f7b36aa1c in process_cpu_domain_info util/header.c:3642
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abfc57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x559f7b345c76 in do_read_string util/header.c:261
>     #2 0x559f7b36ae44 in process_cpu_domain_info util/header.c:3662
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x559f7b36ae93 in process_cpu_domain_info util/header.c:3666
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f6169abf610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x559f7af40d0c in zalloc ../../lib/zalloc.c:8
>     #2 0x559f7b36aa6b in process_cpu_domain_info util/header.c:3646
>     #3 0x559f7b3729f3 in perf_file_section__process util/header.c:4386
>     #4 0x559f7b36ffb5 in perf_header__process_sections util/header.c:4144
>     #5 0x559f7b374ef1 in perf_session__read_header util/header.c:4620
>     #6 0x559f7b3d0802 in perf_session__open util/session.c:54
>     #7 0x559f7b3d1a98 in __perf_session__new util/session.c:168
>     #8 0x559f7ac9e8d3 in perf_session__new util/session.h:116
>     #9 0x559f7ac9ed1f in __cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:46
>     #10 0x559f7ac9fe1a in cmd_evlist /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-evlist.c:101
>     #11 0x559f7af143bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #12 0x559f7af14b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #13 0x559f7af150e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #14 0x559f7af15851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #15 0x7f615f7e7ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x7f615f7e7d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #17 0x559f7ac7a310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
> Event configuration evlist [Failed to list verbose info]
> ---- end(-1) ----
>  85: perf evlist tests                                               : FAILED!
>
>
> ...
>
>
> 2026-01-24 13:56:27 sudo ASAN_OPTIONS=fast_unwind_on_malloc=0 /usr/src/linux-perf-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf test 87 -v
>  87: perf header tests                                               : Running (1 active)
> --- start ---
> test child forked, pid 15636
> Test perf header file
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.213 MB /tmp/__perf_test_header.perf.data.LAgPK (4662 samples) ]
>
> =================================================================
> ==15661==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 131072 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55684cf14c76 in do_read_string util/header.c:261
>     #2 0x55684cf39c30 in process_cpu_domain_info util/header.c:3653
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 73728 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55684cf39c7f in process_cpu_domain_info util/header.c:3657
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55684cf14c76 in do_read_string util/header.c:261
>     #2 0x55684cf39a1c in process_cpu_domain_info util/header.c:3642
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 65536 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234c57 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
>     #1 0x55684cf14c76 in do_read_string util/header.c:261
>     #2 0x55684cf39e44 in process_cpu_domain_info util/header.c:3662
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 10532 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55684cf39e93 in process_cpu_domain_info util/header.c:3666
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> Direct leak of 4352 byte(s) in 1024 object(s) allocated from:
>     #0 0x7f5bd6234610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
>     #1 0x55684cb0fd0c in zalloc ../../lib/zalloc.c:8
>     #2 0x55684cf39a6b in process_cpu_domain_info util/header.c:3646
>     #3 0x55684cf419f3 in perf_file_section__process util/header.c:4386
>     #4 0x55684cf3efb5 in perf_header__process_sections util/header.c:4144
>     #5 0x55684cf43ef1 in perf_session__read_header util/header.c:4620
>     #6 0x55684cf9f802 in perf_session__open util/session.c:54
>     #7 0x55684cfa0a98 in __perf_session__new util/session.c:168
>     #8 0x55684c8cf199 in perf_session__new util/session.h:116
>     #9 0x55684c8e5d65 in cmd_report /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/builtin-report.c:1629
>     #10 0x55684cae33bf in run_builtin /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:348
>     #11 0x55684cae3b8f in handle_internal_command /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:398
>     #12 0x55684cae40e5 in run_argv /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:442
>     #13 0x55684cae4851 in main /usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf.c:549
>     #14 0x7f5bcbf5cca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #15 0x7f5bcbf5cd64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
>     #16 0x55684c849310 in _start (/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-6f993818d20c79b874f546cec1dcce40a9927c7b/tools/perf/perf+0x1048310) (BuildId: 07c75edf5764b1417259ec0a6cb5fc6de1859c88)
>
> SUMMARY: AddressSanitizer: 350756 byte(s) leaked in 6144 allocation(s).
> Unexpected signal in test_file
> ---- end(-1) ----
>  87: perf header tests                                               : FAILED!
>
>
>
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20260126/202601262235.ee84b79e-lkp@intel.com
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Oliver Sang 1 week, 4 days ago
hi, Ian,

On Mon, Jan 26, 2026 at 09:12:58AM -0800, Ian Rogers wrote:

[...]

> 
> As always thanks for the testing! I believe this issue is addressed by:
> https://lore.kernel.org/lkml/20260122213516.671089-2-irogers@google.com/
> which is merged into the perf-tools-next tree:
> https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/?h=perf-tools-next&id=d84f24c898864facc13412a58b78964f6a769d76

thanks a lot for information!

> 
> Thanks,
> Ian
Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Shrikanth Hegde 2 weeks, 2 days ago
Hi Swapnil.


On 1/19/26 11:28 PM, Swapnil Sapkal wrote:
> '/proc/schedstat' gives the info about load balancing statistics within
> a given domain. It also contains the cpu_mask giving information about
> the sibling cpus and domain names after schedstat version 17. Storing
> this information in perf header will help tools like `perf sched stats`
> for better analysis.
> 
> Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>
> ---
>   .../Documentation/perf.data-file-format.txt   |  17 ++
>   tools/perf/builtin-inject.c                   |   1 +
>   tools/perf/util/env.c                         |  29 ++
>   tools/perf/util/env.h                         |  17 ++
>   tools/perf/util/header.c                      | 286 ++++++++++++++++++
>   tools/perf/util/header.h                      |   1 +
>   tools/perf/util/util.c                        |  42 +++
>   tools/perf/util/util.h                        |   3 +
>   8 files changed, 396 insertions(+)
> 
> diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
> index c9d4dec65344..0e4d0ecc9e12 100644
> --- a/tools/perf/Documentation/perf.data-file-format.txt
> +++ b/tools/perf/Documentation/perf.data-file-format.txt
> @@ -447,6 +447,23 @@ struct {
>   	} [nr_pmu];
>   };
>   
> +	HEADER_CPU_DOMAIN_INFO = 32,
> +
> +List of cpu-domain relation info. The format of the data is as below.
> +
> +struct domain_info {
> +	int domain;
> +	char dname[];
> +	char cpumask[];
> +	char cpulist[];
> +};
> +
> +struct cpu_domain_info {
> +	int cpu;
> +	int nr_domains;
> +	struct domain_info domains[];
> +};
> +
>   	other bits are reserved and should ignored for now
>   	HEADER_FEAT_BITS	= 256,
>   
> diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
> index 6080afec537d..587c180035b2 100644
> --- a/tools/perf/builtin-inject.c
> +++ b/tools/perf/builtin-inject.c
> @@ -2047,6 +2047,7 @@ static bool keep_feat(struct perf_inject *inject, int feat)
>   	case HEADER_CLOCK_DATA:
>   	case HEADER_HYBRID_TOPOLOGY:
>   	case HEADER_PMU_CAPS:
> +	case HEADER_CPU_DOMAIN_INFO:
>   		return true;
>   	/* Information that can be updated */
>   	case HEADER_BUILD_ID:
> diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c
> index f1626d2032cd..93d475a80f14 100644
> --- a/tools/perf/util/env.c
> +++ b/tools/perf/util/env.c
> @@ -216,6 +216,34 @@ static void perf_env__purge_bpf(struct perf_env *env __maybe_unused)
>   }
>   #endif // HAVE_LIBBPF_SUPPORT
>   
> +void free_cpu_domain_info(struct cpu_domain_map **cd_map, u32 schedstat_version, u32 nr)
> +{
> +	if (!cd_map)
> +		return;
> +
> +	for (u32 i = 0; i < nr; i++) {
> +		if (!cd_map[i])
> +			continue;
> +
> +		for (u32 j = 0; j < cd_map[i]->nr_domains; j++) {
> +			struct domain_info *d_info = cd_map[i]->domains[j];
> +
> +			if (!d_info)
> +				continue;
> +
> +			if (schedstat_version >= 17)
> +				zfree(&d_info->dname);
> +
> +			zfree(&d_info->cpumask);
> +			zfree(&d_info->cpulist);
> +			zfree(&d_info);
> +		}
> +		zfree(&cd_map[i]->domains);
> +		zfree(&cd_map[i]);
> +	}
> +	zfree(&cd_map);
> +}
> +
>   void perf_env__exit(struct perf_env *env)
>   {
>   	int i, j;
> @@ -265,6 +293,7 @@ void perf_env__exit(struct perf_env *env)
>   		zfree(&env->pmu_caps[i].pmu_name);
>   	}
>   	zfree(&env->pmu_caps);
> +	free_cpu_domain_info(env->cpu_domain, env->schedstat_version, env->nr_cpus_avail);
>   }
>   
>   void perf_env__init(struct perf_env *env)
> diff --git a/tools/perf/util/env.h b/tools/perf/util/env.h
> index 9977b85523a8..76ba1a36e9ff 100644
> --- a/tools/perf/util/env.h
> +++ b/tools/perf/util/env.h
> @@ -54,6 +54,19 @@ struct pmu_caps {
>   	char            *pmu_name;
>   };
>   
> +struct domain_info {
> +	u32	domain;
> +	char	*dname;
> +	char	*cpumask;
> +	char	*cpulist;
> +};
> +
> +struct cpu_domain_map {
> +	u32			cpu;
> +	u32			nr_domains;
> +	struct domain_info	**domains;
> +};
> +
>   typedef const char *(arch_syscalls__strerrno_t)(int err);
>   
>   struct perf_env {
> @@ -70,6 +83,8 @@ struct perf_env {
>   	unsigned int		max_branches;
>   	unsigned int		br_cntr_nr;
>   	unsigned int		br_cntr_width;
> +	unsigned int		schedstat_version;
> +	unsigned int		max_sched_domains;
>   	int			kernel_is_64_bit;
>   
>   	int			nr_cmdline;
> @@ -92,6 +107,7 @@ struct perf_env {
>   	char			**cpu_pmu_caps;
>   	struct cpu_topology_map	*cpu;
>   	struct cpu_cache_level	*caches;
> +	struct cpu_domain_map	**cpu_domain;
>   	int			 caches_cnt;
>   	u32			comp_ratio;
>   	u32			comp_ver;
> @@ -151,6 +167,7 @@ struct bpf_prog_info_node;
>   struct btf_node;
>   
>   int perf_env__read_core_pmu_caps(struct perf_env *env);
> +void free_cpu_domain_info(struct cpu_domain_map **cd_map, u32 schedstat_version, u32 nr);
>   void perf_env__exit(struct perf_env *env);
>   
>   int perf_env__kernel_is_64_bit(struct perf_env *env);
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index f5cad377c99e..673d53bb2a2c 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -1614,6 +1614,162 @@ static int write_pmu_caps(struct feat_fd *ff,
>   	return 0;
>   }
>   
> +static struct cpu_domain_map **build_cpu_domain_map(u32 *schedstat_version, u32 *max_sched_domains,
> +						    u32 nr)
> +{
> +	struct domain_info *domain_info;
> +	struct cpu_domain_map **cd_map;
> +	char dname[16], cpumask[256];

You should likely make cpumask and cpulist as NR_CPUS to be
safe.

256 will work till 1024 CPUs no? These days there are systems with
more CPUs than that.

Making it NR_CPUS will likely cover all crazy cases/configurations.

> +	char cpulist[1024];
> +	char *line = NULL;
> +	u32 cpu, domain;
> +	u32 dcount = 0;
> +	size_t len;
> +	FILE *fp;
> +
> +	fp = fopen("/proc/schedstat", "r");
> +	if (!fp) {
> +		pr_err("Failed to open /proc/schedstat\n");
> +		return NULL;
> +	}
> +
> +	cd_map = zalloc(sizeof(*cd_map) * nr);
> +	if (!cd_map)
> +		goto out;
> +
> +	while (getline(&line, &len, fp) > 0) {
> +		int retval;
> +
> +		if (strncmp(line, "version", 7) == 0) {
> +			retval = sscanf(line, "version %d\n", schedstat_version);
> +			if (retval != 1)
> +				continue;
> +
> +		} else if (strncmp(line, "cpu", 3) == 0) {
> +			retval = sscanf(line, "cpu%u %*s", &cpu);
> +			if (retval == 1) {
> +				cd_map[cpu] = zalloc(sizeof(*cd_map[cpu]));
> +				if (!cd_map[cpu])
> +					goto out_free_line;
> +				cd_map[cpu]->cpu = cpu;
> +			} else
> +				continue;
> +
> +			dcount = 0;
> +		} else if (strncmp(line, "domain", 6) == 0) {
> +			struct domain_info **temp_domains;
> +
> +			dcount++;
> +			temp_domains = realloc(cd_map[cpu]->domains, dcount * sizeof(domain_info));
> +			if (!temp_domains)
> +				goto out_free_line;
> +			else
> +				cd_map[cpu]->domains = temp_domains;
> +
> +			domain_info = zalloc(sizeof(*domain_info));
> +			if (!domain_info)
> +				goto out_free_line;
> +
> +			cd_map[cpu]->domains[dcount - 1] = domain_info;
> +
> +			if (*schedstat_version >= 17) {
> +				retval = sscanf(line, "domain%u %s %s %*s", &domain, dname,
> +						cpumask);
> +				if (retval != 3)
> +					continue;
> +
> +				domain_info->dname = strdup(dname);
> +				if (!domain_info->dname)
> +					goto out_free_line;
> +			} else {
> +				retval = sscanf(line, "domain%u %s %*s", &domain, cpumask);
> +				if (retval != 2)
> +					continue;
> +			}
> +
> +			domain_info->domain = domain;
> +			if (domain > *max_sched_domains)
> +				*max_sched_domains = domain;
> +
> +			domain_info->cpumask = strdup(cpumask);
> +			if (!domain_info->cpumask)
> +				goto out_free_line;
> +
> +			cpumask_to_cpulist(cpumask, cpulist);
> +			domain_info->cpulist = strdup(cpulist);
> +			if (!domain_info->cpulist)
> +				goto out_free_line;
> +
> +			cd_map[cpu]->nr_domains = dcount;
> +		}
> +	}
> +
> +out_free_line:
> +	free(line);
> +out:
> +	fclose(fp);
> +	return cd_map;
> +}
> +
> +static int write_cpu_domain_info(struct feat_fd *ff,
> +				 struct evlist *evlist __maybe_unused)
> +{
> +	u32 max_sched_domains = 0, schedstat_version = 0;
> +	struct cpu_domain_map **cd_map;
> +	u32 i, j, nr, ret;
> +
> +	nr = cpu__max_present_cpu().cpu;
> +
> +	cd_map = build_cpu_domain_map(&schedstat_version, &max_sched_domains, nr);
> +	if (!cd_map)
> +		return -1;
> +
> +	ret = do_write(ff, &schedstat_version, sizeof(u32));
> +	if (ret < 0)
> +		goto out;
> +
> +	max_sched_domains += 1;
> +	ret = do_write(ff, &max_sched_domains, sizeof(u32));
> +	if (ret < 0)
> +		goto out;
> +
> +	for (i = 0; i < nr; i++) {
> +		if (!cd_map[i])
> +			continue;
> +
> +		ret = do_write(ff, &cd_map[i]->cpu, sizeof(u32));
> +		if (ret < 0)
> +			goto out;
> +
> +		ret = do_write(ff, &cd_map[i]->nr_domains, sizeof(u32));
> +		if (ret < 0)
> +			goto out;
> +
> +		for (j = 0; j < cd_map[i]->nr_domains; j++) {
> +			ret = do_write(ff, &cd_map[i]->domains[j]->domain, sizeof(u32));
> +			if (ret < 0)
> +				goto out;
> +			if (schedstat_version >= 17) {
> +				ret = do_write_string(ff, cd_map[i]->domains[j]->dname);
> +				if (ret < 0)
> +					goto out;
> +			}
> +
> +			ret = do_write_string(ff, cd_map[i]->domains[j]->cpumask);
> +			if (ret < 0)
> +				goto out;
> +
> +			ret = do_write_string(ff, cd_map[i]->domains[j]->cpulist);
> +			if (ret < 0)
> +				goto out;
> +		}
> +	}
> +
> +out:
> +	free_cpu_domain_info(cd_map, schedstat_version, nr);
> +	return ret;
> +}
> +
>   static void print_hostname(struct feat_fd *ff, FILE *fp)
>   {
>   	fprintf(fp, "# hostname : %s\n", ff->ph->env.hostname);
> @@ -2247,6 +2403,39 @@ static void print_mem_topology(struct feat_fd *ff, FILE *fp)
>   	}
>   }
>   
> +static void print_cpu_domain_info(struct feat_fd *ff, FILE *fp)
> +{
> +	struct cpu_domain_map **cd_map = ff->ph->env.cpu_domain;
> +	u32 nr = ff->ph->env.nr_cpus_avail;
> +	struct domain_info *d_info;
> +	u32 i, j;
> +
> +	fprintf(fp, "# schedstat version	: %u\n", ff->ph->env.schedstat_version);
> +	fprintf(fp, "# Maximum sched domains	: %u\n", ff->ph->env.max_sched_domains);
> +
> +	for (i = 0; i < nr; i++) {
> +		if (!cd_map[i])
> +			continue;
> +
> +		fprintf(fp, "# cpu		: %u\n", cd_map[i]->cpu);
> +		fprintf(fp, "# nr_domains	: %u\n", cd_map[i]->nr_domains);
> +
> +		for (j = 0; j < cd_map[i]->nr_domains; j++) {
> +			d_info = cd_map[i]->domains[j];
> +			if (!d_info)
> +				continue;
> +
> +			fprintf(fp, "# Domain		: %u\n", d_info->domain);
> +
> +			if (ff->ph->env.schedstat_version >= 17)
> +				fprintf(fp, "# Domain name      : %s\n", d_info->dname);
> +
> +			fprintf(fp, "# Domain cpu map   : %s\n", d_info->cpumask);
> +			fprintf(fp, "# Domain cpu list  : %s\n", d_info->cpulist);
> +		}
> +	}
> +}
> +
>   static int __event_process_build_id(struct perf_record_header_build_id *bev,
>   				    char *filename,
>   				    struct perf_session *session)
> @@ -3388,6 +3577,102 @@ static int process_pmu_caps(struct feat_fd *ff, void *data __maybe_unused)
>   	return ret;
>   }
>   
> +static int process_cpu_domain_info(struct feat_fd *ff, void *data __maybe_unused)
> +{
> +	u32 schedstat_version, max_sched_domains, cpu, domain, nr_domains;
> +	struct perf_env *env = &ff->ph->env;
> +	char *dname, *cpumask, *cpulist;
> +	struct cpu_domain_map **cd_map;
> +	struct domain_info *d_info;
> +	u32 nra, nr, i, j;
> +	int ret;
> +
> +	nra = env->nr_cpus_avail;
> +	nr = env->nr_cpus_online;
> +
> +	cd_map = zalloc(sizeof(*cd_map) * nra);
> +	if (!cd_map)
> +		return -1;
> +
> +	env->cpu_domain = cd_map;
> +
> +	ret = do_read_u32(ff, &schedstat_version);
> +	if (ret)
> +		return ret;
> +
> +	env->schedstat_version = schedstat_version;
> +
> +	ret = do_read_u32(ff, &max_sched_domains);
> +	if (ret)
> +		return ret;
> +
> +	env->max_sched_domains = max_sched_domains;
> +
> +	for (i = 0; i < nr; i++) {
> +		if (do_read_u32(ff, &cpu))
> +			return -1;
> +
> +		cd_map[cpu] = zalloc(sizeof(*cd_map[cpu]));
> +		if (!cd_map[cpu])
> +			return -1;
> +
> +		cd_map[cpu]->cpu = cpu;
> +
> +		if (do_read_u32(ff, &nr_domains))
> +			return -1;
> +
> +		cd_map[cpu]->nr_domains = nr_domains;
> +
> +		cd_map[cpu]->domains = zalloc(sizeof(*d_info) * max_sched_domains);
> +		if (!cd_map[cpu]->domains)
> +			return -1;
> +
> +		for (j = 0; j < nr_domains; j++) {
> +			if (do_read_u32(ff, &domain))
> +				return -1;
> +
> +			d_info = zalloc(sizeof(*d_info));
> +			if (!d_info)
> +				return -1;
> +
> +			cd_map[cpu]->domains[domain] = d_info;
> +			d_info->domain = domain;
> +
> +			if (schedstat_version >= 17) {
> +				dname = do_read_string(ff);
> +				if (!dname)
> +					return -1;
> +
> +				d_info->dname = zalloc(strlen(dname) + 1);
> +				if (!d_info->dname)
> +					return -1;
> +
> +				d_info->dname = strdup(dname);
> +			}
> +
> +			cpumask = do_read_string(ff);
> +			if (!cpumask)
> +				return -1;
> +
> +			d_info->cpumask = zalloc(strlen(cpumask) + 1);
> +			if (!d_info->cpumask)
> +				return -1;
> +			d_info->cpumask = strdup(cpumask);
> +
> +			cpulist = do_read_string(ff);
> +			if (!cpulist)
> +				return -1;
> +
> +			d_info->cpulist = zalloc(strlen(cpulist) + 1);
> +			if (!d_info->cpulist)
> +				return -1;
> +			d_info->cpulist = strdup(cpulist);
> +		}
> +	}
> +
> +	return ret;
> +}
> +
>   #define FEAT_OPR(n, func, __full_only) \
>   	[HEADER_##n] = {					\
>   		.name	    = __stringify(n),			\
> @@ -3453,6 +3738,7 @@ const struct perf_header_feature_ops feat_ops[HEADER_LAST_FEATURE] = {
>   	FEAT_OPR(CLOCK_DATA,	clock_data,	false),
>   	FEAT_OPN(HYBRID_TOPOLOGY,	hybrid_topology,	true),
>   	FEAT_OPR(PMU_CAPS,	pmu_caps,	false),
> +	FEAT_OPR(CPU_DOMAIN_INFO,	cpu_domain_info,	true),
>   };
>   
>   struct header_print_data {
> diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h
> index c058021c3150..c62f3275a80f 100644
> --- a/tools/perf/util/header.h
> +++ b/tools/perf/util/header.h
> @@ -53,6 +53,7 @@ enum {
>   	HEADER_CLOCK_DATA,
>   	HEADER_HYBRID_TOPOLOGY,
>   	HEADER_PMU_CAPS,
> +	HEADER_CPU_DOMAIN_INFO,
>   	HEADER_LAST_FEATURE,
>   	HEADER_FEAT_BITS	= 256,
>   };
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index 0f031eb80b4c..b87ff96a9f45 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -257,6 +257,48 @@ static int rm_rf_kcore_dir(const char *path)
>   	return 0;
>   }
>   
> +void cpumask_to_cpulist(char *cpumask, char *cpulist)
> +{
> +	int i, j, bm_size, nbits;
> +	int len = strlen(cpumask);
> +	unsigned long *bm;
> +	char cpus[1024];
> +
> +	for (i = 0; i < len; i++) {
> +		if (cpumask[i] == ',') {
> +			for (j = i; j < len; j++)
> +				cpumask[j] = cpumask[j + 1];
> +		}
> +	}
> +
> +	len = strlen(cpumask);
> +	bm_size = (len + 15) / 16;
> +	nbits = bm_size * 64;
> +	if (nbits <= 0)
> +		return;
> +
> +	bm = calloc(bm_size, sizeof(unsigned long));
> +	if (!cpumask)
> +		goto free_bm;
> +
> +	for (i = 0; i < bm_size; i++) {
> +		char blk[17];
> +		int blklen = len > 16 ? 16 : len;
> +
> +		strncpy(blk, cpumask + len - blklen, blklen);
> +		blk[blklen] = '\0';
> +		bm[i] = strtoul(blk, NULL, 16);
> +		cpumask[len - blklen] = '\0';
> +		len = strlen(cpumask);
> +	}
> +
> +	bitmap_scnprintf(bm, nbits, cpus, sizeof(cpus));
> +	strcpy(cpulist, cpus);
> +
> +free_bm:
> +	free(bm);
> +}
> +
>   int rm_rf_perf_data(const char *path)
>   {
>   	const char *pat[] = {
> diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
> index 3423778e39a5..1572c8cf04e5 100644
> --- a/tools/perf/util/util.h
> +++ b/tools/perf/util/util.h
> @@ -11,6 +11,7 @@
>   #include <stdbool.h>
>   #include <stddef.h>
>   #include <linux/compiler.h>
> +#include <linux/bitmap.h>
>   #include <sys/types.h>
>   #ifndef __cplusplus
>   #include <internal/cpumap.h>
> @@ -48,6 +49,8 @@ bool sysctl__nmi_watchdog_enabled(void);
>   
>   int perf_tip(char **strp, const char *dirpath);
>   
> +void cpumask_to_cpulist(char *cpumask, char *cpulist);
> +
>   #ifndef HAVE_SCHED_GETCPU_SUPPORT
>   int sched_getcpu(void);
>   #endif
Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Swapnil Sapkal 2 weeks ago
Hi Shrikanth,

Thanks for the review.

On 21-01-2026 22:48, Shrikanth Hegde wrote:
> Hi Swapnil.
> 
> 

[...]

>>   }
>> +static struct cpu_domain_map **build_cpu_domain_map(u32 
>> *schedstat_version, u32 *max_sched_domains,
>> +                            u32 nr)
>> +{
>> +    struct domain_info *domain_info;
>> +    struct cpu_domain_map **cd_map;
>> +    char dname[16], cpumask[256];
> 
> You should likely make cpumask and cpulist as NR_CPUS to be
> safe.
> 
> 256 will work till 1024 CPUs no? These days there are systems with
> more CPUs than that.
> 
> Making it NR_CPUS will likely cover all crazy cases/configurations.
> 

This was a miss at my end. This should be NR_CPUS.

--
Thanks and Regards,
Swapnil


Re: [PATCH v5 02/10] perf header: Support CPU DOMAIN relation info
Posted by Arnaldo Carvalho de Melo 2 weeks ago
On Fri, Jan 23, 2026 at 08:49:40PM +0530, Swapnil Sapkal wrote:
> On 21-01-2026 22:48, Shrikanth Hegde wrote:
> > > +static struct cpu_domain_map **build_cpu_domain_map(u32
> > > *schedstat_version, u32 *max_sched_domains,
> > > +                            u32 nr)
> > > +{
> > > +    struct domain_info *domain_info;
> > > +    struct cpu_domain_map **cd_map;
> > > +    char dname[16], cpumask[256];

> > You should likely make cpumask and cpulist as NR_CPUS to be
> > safe.

> > 256 will work till 1024 CPUs no? These days there are systems with
> > more CPUs than that.

> > Making it NR_CPUS will likely cover all crazy cases/configurations.
 
> This was a miss at my end. This should be NR_CPUS.

Please continue from what is in perf-tools-next.

- Arnaldo