lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190808133628.GC19444@kernel.org>
Date:   Thu, 8 Aug 2019 10:36:28 -0300
From:   Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
To:     zhe.he@...driver.com
Cc:     peterz@...radead.org, mingo@...hat.com,
        alexander.shishkin@...ux.intel.com, jolsa@...hat.com,
        namhyung@...nel.org, kan.liang@...ux.intel.com, eranian@...gle.com,
        alexey.budankov@...ux.intel.com, linux-kernel@...r.kernel.org
Subject: Re: [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@...driver.com escreveu:
> From: He Zhe <zhe.he@...driver.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@...driver.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ