File blkparse-skip-check_cpu_map-with-pipe-input.patch of Package blktrace.21605
From: Jeff Mahoney <jeffm@suse.com>
Date: Thu, 21 Oct 2021 09:43:09 -0400
Subject: [PATCH 1/2] blkparse: skip check_cpu_map with pipe input
References: bsc#1191788
Git-repo: http://git.kernel.dk/blktrace.git
Git-commit: ac416ab67cd7add0089c3bc668427e6b909eb59e
When we're using pipe input, we don't track online CPUs and don't have a
cpu_map. When we start to show entries, check_sequence will be invoked.
If the first entry isn't sequence 1 (perhaps it's been dropped?), we'll
proceed to check_cpu_map. Since we haven't tracked online CPUs,
pdi->cpu_map_max will be 0 and we'll do a malloc(0). Then we'll start
setting bits corresponding to CPU numbers in memory we don't own. Since
there's nothing to check here, let's skip it on pipe input.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
blkparse.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/blkparse.c b/blkparse.c
index f88204a..498857c 100644
--- a/blkparse.c
+++ b/blkparse.c
@@ -2229,6 +2229,10 @@ static int check_cpu_map(struct per_dev_info *pdi)
unsigned int i;
int ret, cpu;
+ /* Pipe input doesn't do CPU online tracking. */
+ if (!pdi->cpu_map_max)
+ return 0;
+
/*
* create a map of the cpus we have traces for
*/
--
2.33.1