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: <a8b20c72-6631-4404-9e1f-0410642d7d20@gmail.com>
Date: Wed, 10 Jul 2024 20:14:19 +0200
From: Mirsad Todorovac <mtodorovac69@...il.com>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: Martin KaFai Lau <martin.lau@...ux.dev>,
 Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
 Andrii Nakryiko <andrii@...nel.org>, Eduard Zingerman <eddyz87@...il.com>,
 Song Liu <song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>,
 John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>,
 Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
 Jiri Olsa <jolsa@...nel.org>, bpf@...r.kernel.org
Subject: [PROBLEM linux-next] /kernel/bpf/btf.c:7581:9: error: function ‘btf_snprintf_show’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]

Dear all,

On the linux-next vanilla next-20240709 tree, I have attempted the seed KCONFIG_SEED=0xEE7AB52F
which was known from before to trigger various errors in compile and build process.

Though this might seem as contributing to channel noise, Linux refuses to build this config,
treating warnings as errors, using this build line:

$ time nice make W=1 -k -j 36 |& tee ../err-next-20230709-01a.log; date

As I know that the Chief Penguin doesn't like warnings, but I am also aware that there are plenty
left, there seems to be more tedious work ahead to make the compilers happy.

The compiler output is:

./kernel/bpf/btf.c: In function ‘btf_seq_show’:
./kernel/bpf/btf.c:7544:29: error: function ‘btf_seq_show’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
 7544 |         seq_vprintf((struct seq_file *)show->target, fmt, args);
      |                             ^~~~~~~~
./kernel/bpf/btf.c: In function ‘btf_snprintf_show’:
./kernel/bpf/btf.c:7581:9: error: function ‘btf_snprintf_show’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
 7581 |         len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
      |         ^~~

This doesn't seem alarming, but it prevents build with this config.

7541 static void btf_seq_show(struct btf_show *show, const char *fmt,
7542                          va_list args)
7543 {
7544      → seq_vprintf((struct seq_file *)show->target, fmt, args);
7545 }
7546 

7575 static void btf_snprintf_show(struct btf_show *show, const char *fmt,
7576                               va_list args)
7577 {
7578         struct btf_show_snprintf *ssnprintf = (struct btf_show_snprintf *)show;
7579         int len;
7580 
7581       → len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
7582 
7583         if (len < 0) {
7584                 ssnprintf->len_left = 0;
7585                 ssnprintf->len = len;
7586         } else if (len >= ssnprintf->len_left) {
7587                 /* no space, drive on to get length we would have written */
7588                 ssnprintf->len_left = 0;
7589                 ssnprintf->len += len;
7590         } else {
7591                 ssnprintf->len_left -= len;
7592                 ssnprintf->len += len;
7593                 show->target += len;
7594         }
7595 }

Hope this helps.

Best regards,
Mirsad Todorovac

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ