mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
perf cpumap: Fix writing to illegal memory in handling cpumap mask
[ Upstream commit5f5e25f1c7] cpu_map__snprint_mask() would write to illegal memory pointed by zalloc(0) when there is only one cpu. This patch fixes the calculation and adds sanity check against the input parameters. Signed-off-by: He Zhe <zhe.he@windriver.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Budankov <alexey.budankov@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Fixes:4400ac8a9a("perf cpumap: Introduce cpu_map__snprint_mask()") Link: http://lkml.kernel.org/r/1564734592-15624-2-git-send-email-zhe.he@windriver.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e49cfed0a8
commit
06ed429b90
|
|
@ -701,7 +701,10 @@ size_t cpu_map__snprint_mask(struct cpu_map *map, char *buf, size_t size)
|
|||
unsigned char *bitmap;
|
||||
int last_cpu = cpu_map__cpu(map, map->nr - 1);
|
||||
|
||||
bitmap = zalloc((last_cpu + 7) / 8);
|
||||
if (buf == NULL)
|
||||
return 0;
|
||||
|
||||
bitmap = zalloc(last_cpu / 8 + 1);
|
||||
if (bitmap == NULL) {
|
||||
buf[0] = '\0';
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user