lkml.org 
[lkml]   [2019]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 2/2] perf: Fix writing to illegal memory in handling cpumap mask
Em Fri, Aug 02, 2019 at 04:29:52PM +0800, zhe.he@windriver.com escreveu:
> From: He Zhe <zhe.he@windriver.com>
>
> 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.

Thanks, applied, and added the missing:

Fixes: 4400ac8a9a90 ("perf cpumap: Introduce cpu_map__snprint_mask()")

- Arnaldo

> Signed-off-by: He Zhe <zhe.he@windriver.com>
> ---
> tools/perf/util/cpumap.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c
> index 3acfbe3..39cce66 100644
> --- a/tools/perf/util/cpumap.c
> +++ b/tools/perf/util/cpumap.c
> @@ -751,7 +751,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;
> --
> 2.7.4

--

- Arnaldo

\
 
 \ /
  Last update: 2019-08-08 15:36    [W:0.086 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site