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: <20250716080616.1357793-1-yangfeng59949@163.com>
Date: Wed, 16 Jul 2025 16:06:16 +0800
From: Feng Yang <yangfeng59949@....com>
To: ast@...nel.org,
	daniel@...earbox.net,
	andrii@...nel.org,
	martin.lau@...ux.dev,
	eddyz87@...il.com,
	song@...nel.org,
	yonghong.song@...ux.dev,
	john.fastabend@...il.com,
	kpsingh@...nel.org,
	sdf@...ichev.me,
	haoluo@...gle.com,
	jolsa@...nel.org,
	memxor@...il.com
Cc: bpf@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: [PATCH bpf-next] libbpf: Fix macro redefined

From: Feng Yang <yangfeng@...inos.cn>

When compiling a program that include <linux/bpf.h> and <bpf/bpf_helpers.h>, (For example: make samples/bpf)
the following warning will be generated:
In file included from tcp_dumpstats_kern.c:7:
samples/bpf/libbpf/include/bpf/bpf_helpers.h:321:9: warning: 'bpf_stream_printk' macro redefined [-Wmacro-redefined]
  321 | #define bpf_stream_printk(stream_id, fmt, args...)                              \
      |         ^
include/linux/bpf.h:3626:9: note: previous definition is here
 3626 | #define bpf_stream_printk(ss, ...) bpf_stream_stage_printk(&ss, __VA_ARGS__)
      |         ^

Therefore, similar to bpf_vprintk,
two underscores are added to distinguish it from bpf_stream_printk in bpf.h.

Fixes: 21a3afc76a31 ("libbpf: Add bpf_stream_printk() macro")
Signed-off-by: Feng Yang <yangfeng@...inos.cn>
---
 tools/lib/bpf/bpf_helpers.h                | 2 +-
 tools/testing/selftests/bpf/progs/stream.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/lib/bpf/bpf_helpers.h b/tools/lib/bpf/bpf_helpers.h
index 80c028540656..56391a7bee48 100644
--- a/tools/lib/bpf/bpf_helpers.h
+++ b/tools/lib/bpf/bpf_helpers.h
@@ -318,7 +318,7 @@ enum libbpf_tristate {
 extern int bpf_stream_vprintk(int stream_id, const char *fmt__str, const void *args,
 			      __u32 len__sz, void *aux__prog) __weak __ksym;
 
-#define bpf_stream_printk(stream_id, fmt, args...)				\
+#define __bpf_stream_printk(stream_id, fmt, args...)				\
 ({										\
 	static const char ___fmt[] = fmt;					\
 	unsigned long long ___param[___bpf_narg(args)];				\
diff --git a/tools/testing/selftests/bpf/progs/stream.c b/tools/testing/selftests/bpf/progs/stream.c
index 35790897dc87..1d0663d56c0a 100644
--- a/tools/testing/selftests/bpf/progs/stream.c
+++ b/tools/testing/selftests/bpf/progs/stream.c
@@ -29,7 +29,7 @@ int stream_exhaust(void *ctx)
 	/* Use global variable for loop convergence. */
 	size = 0;
 	bpf_repeat(BPF_MAX_LOOPS) {
-		if (bpf_stream_printk(BPF_STDOUT, _STR) == -ENOSPC && size == 99954)
+		if (__bpf_stream_printk(BPF_STDOUT, _STR) == -ENOSPC && size == 99954)
 			return 0;
 		size += sizeof(_STR) - 1;
 	}
@@ -72,7 +72,7 @@ SEC("syscall")
 __success __retval(0)
 int stream_syscall(void *ctx)
 {
-	bpf_stream_printk(BPF_STDOUT, "foo");
+	__bpf_stream_printk(BPF_STDOUT, "foo");
 	return 0;
 }
 
-- 
2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ