aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2021-10-21 10:16:19 -0400
committerJens Axboe <axboe@kernel.dk>2021-10-21 08:45:16 -0600
commitac416ab67cd7add0089c3bc668427e6b909eb59e (patch)
treef38e155dbf743ebab22dfbac4ddeb037789b3480
parent3a1b1366d30375cdb0f5b299df4edda0c8ba3bcc (diff)
downloadblktrace-ac416ab67cd7add0089c3bc668427e6b909eb59e.tar.gz
blkparse: skip check_cpu_map with pipe input
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>
-rw-r--r--blkparse.c4
1 files changed, 4 insertions, 0 deletions
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
*/