[<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