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-next>] [day] [month] [year] [list]
Message-Id: <20220520081158.2990006-1-tmricht@linux.ibm.com>
Date:   Fri, 20 May 2022 10:11:58 +0200
From:   Thomas Richter <tmricht@...ux.ibm.com>
To:     linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        acme@...nel.org
Cc:     svens@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
        hca@...ux.ibm.com, Namhyung Kim <namhyung@...il.com>,
        Thomas Richter <tmricht@...ux.ibm.com>
Subject: [PATCH v2] perf/s390: Compiler error on s390 for bench/numa.c

The compilation on s390 results in this error:

 # make DEBUG=y bench/numa.o
 ...
 bench/numa.c: In function ‘__bench_numa’:
 bench/numa.c:1749:81: error: ‘%d’ directive output may be truncated
             writing between 1 and 11 bytes into a region of size between
             10 and 20 [-Werror=format-truncation=]
 1749 |        snprintf(tname, sizeof(tname), "process%d:thread%d", p, t);
                                                               ^~
 ...
 bench/numa.c:1749:64: note: directive argument in the range
                [-2147483647, 2147483646]
 ...
 #

The maximum length of the %d replacement is 11 characters because
of the negative sign.  Therefore extend the array by two more
characters.

Output after:
 # make  DEBUG=y bench/numa.o > /dev/null 2>&1; ll bench/numa.o
 -rw-r--r-- 1 root root 418320 May 19 09:11 bench/numa.o
 #

Fixes: 3aff8ba0a4c9c ("perf bench numa: Avoid possible truncation when using snprintf()")
Suggested-by: Namhyung Kim <namhyung@...il.com>
Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
---
 tools/perf/bench/numa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
index d5289fa58a4f..20eed1e53f80 100644
--- a/tools/perf/bench/numa.c
+++ b/tools/perf/bench/numa.c
@@ -1740,7 +1740,7 @@ static int __bench_numa(const char *name)
 		"GB/sec,", "total-speed",	"GB/sec total speed");
 
 	if (g->p.show_details >= 2) {
-		char tname[14 + 2 * 10 + 1];
+		char tname[14 + 2 * 11 + 1];
 		struct thread_data *td;
 		for (p = 0; p < g->p.nr_proc; p++) {
 			for (t = 0; t < g->p.nr_threads; t++) {
-- 
2.36.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ