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] [day] [month] [year] [list]
Date: Tue, 7 May 2024 12:41:12 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: He Zhe <zhe.he@...driver.com>
Cc: namhyung@...nel.org, mark.rutland@....com,
	alexander.shishkin@...ux.intel.com, jolsa@...nel.org,
	irogers@...gle.com, adrian.hunter@...el.com,
	linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf bench: Fix trap divide error of perf bench
 internals inject-build-id

On Tue, May 07, 2024 at 02:50:26PM +0800, He Zhe wrote:
> perf bench internals inject-build-id suffers from the following error when
> only one DSO is collected.
> 
> perf bench internals inject-build-id -v
>   Collected 1 DSOs
> traps: internals-injec[2305] trap divide error
> ip:557566ba6394 sp:7ffd4de97fe0 error:0 in perf[557566b2a000+23d000]
>   Build-id injection benchmark
>   Iteration #1
> Floating point exception
> 
> This patch removes the unnecessary minus one from the divisor which also
> corrects the randomization range.

Thanks, applied to perf-tools-next, and added:

Fixes: 0bf02a0d80427f26 ("perf bench: Add build-id injection benchmark")

To make sure this ends up being picked by the stable guys and
backporters.

- Arnaldo
 
> Signed-off-by: He Zhe <zhe.he@...driver.com>
> ---
>  tools/perf/bench/inject-buildid.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/bench/inject-buildid.c b/tools/perf/bench/inject-buildid.c
> index 49331743c743..a759eb2328be 100644
> --- a/tools/perf/bench/inject-buildid.c
> +++ b/tools/perf/bench/inject-buildid.c
> @@ -362,7 +362,7 @@ static int inject_build_id(struct bench_data *data, u64 *max_rss)
>  		return -1;
>  
>  	for (i = 0; i < nr_mmaps; i++) {
> -		int idx = rand() % (nr_dsos - 1);
> +		int idx = rand() % nr_dsos;
>  		struct bench_dso *dso = &dsos[idx];
>  		u64 timestamp = rand() % 1000000;
>  
> -- 
> 2.25.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ