* [PATCH bpf-next] Use thread-safe function pointer in libbpf_print
@ 2025-04-24 22:14 >
2025-04-25 0:31 ` Mykyta Yatsenko
2025-04-25 16:28 ` Andrii Nakryiko
0 siblings, 2 replies; 3+ messages in thread
From: > @ 2025-04-24 22:14 UTC (permalink / raw)
To: bpf
Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Mykyta Yatsenko, Yonghong Song, Jordan Rome,
Jiri Olsa, Jonathan Wiepert, Kernel Team
From: Jonathan Wiepert <jonathan.wiepert@gmail.com>
This patch fixes a thread safety bug where libbpf_print uses the
global variable storing the print function pointer rather than the local
variable that had the print function set via __atomic_load_n.
Signed-off-by: Jonathan Wiepert <jonathan.wiepert@gmail.com>
---
tools/lib/bpf/libbpf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 56250b5ac5b0..ea97a84460cd 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -284,7 +284,7 @@ void libbpf_print(enum libbpf_print_level level, const char *format, ...)
old_errno = errno;
va_start(args, format);
- __libbpf_pr(level, format, args);
+ print_fn(level, format, args);
va_end(args);
errno = old_errno;
--
2.42.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] Use thread-safe function pointer in libbpf_print
2025-04-24 22:14 [PATCH bpf-next] Use thread-safe function pointer in libbpf_print >
@ 2025-04-25 0:31 ` Mykyta Yatsenko
2025-04-25 16:28 ` Andrii Nakryiko
1 sibling, 0 replies; 3+ messages in thread
From: Mykyta Yatsenko @ 2025-04-25 0:31 UTC (permalink / raw)
To: >, bpf
Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Mykyta Yatsenko, Yonghong Song, Jordan Rome,
Jiri Olsa, Kernel Team
On 4/24/25 23:14, > wrote:
> From: Jonathan Wiepert <jonathan.wiepert@gmail.com>
>
> This patch fixes a thread safety bug where libbpf_print uses the
> global variable storing the print function pointer rather than the local
> variable that had the print function set via __atomic_load_n.
>
> Signed-off-by: Jonathan Wiepert <jonathan.wiepert@gmail.com>
> ---
> tools/lib/bpf/libbpf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index 56250b5ac5b0..ea97a84460cd 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -284,7 +284,7 @@ void libbpf_print(enum libbpf_print_level level, const char *format, ...)
> old_errno = errno;
>
> va_start(args, format);
> - __libbpf_pr(level, format, args);
> + print_fn(level, format, args);
> va_end(args);
>
> errno = old_errno;
Acked-by: Mykyta Yatsenko <mykyta.yatsenko5@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] Use thread-safe function pointer in libbpf_print
2025-04-24 22:14 [PATCH bpf-next] Use thread-safe function pointer in libbpf_print >
2025-04-25 0:31 ` Mykyta Yatsenko
@ 2025-04-25 16:28 ` Andrii Nakryiko
1 sibling, 0 replies; 3+ messages in thread
From: Andrii Nakryiko @ 2025-04-25 16:28 UTC (permalink / raw)
To: >
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Mykyta Yatsenko, Yonghong Song, Jordan Rome,
Jiri Olsa, Kernel Team
On Thu, Apr 24, 2025 at 3:15 PM > <jonathan.wiepert@gmail.com> wrote:
>
> From: Jonathan Wiepert <jonathan.wiepert@gmail.com>
>
> This patch fixes a thread safety bug where libbpf_print uses the
> global variable storing the print function pointer rather than the local
> variable that had the print function set via __atomic_load_n.
>
> Signed-off-by: Jonathan Wiepert <jonathan.wiepert@gmail.com>
> ---
> tools/lib/bpf/libbpf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Added
Fixes: f1cb927cdb62 ("libbpf: Ensure print callback usage is thread-safe")
and applied to bpf-next, thanks.
> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index 56250b5ac5b0..ea97a84460cd 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -284,7 +284,7 @@ void libbpf_print(enum libbpf_print_level level, const char *format, ...)
> old_errno = errno;
>
> va_start(args, format);
> - __libbpf_pr(level, format, args);
> + print_fn(level, format, args);
> va_end(args);
>
> errno = old_errno;
> --
> 2.42.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-04-25 16:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24 22:14 [PATCH bpf-next] Use thread-safe function pointer in libbpf_print >
2025-04-25 0:31 ` Mykyta Yatsenko
2025-04-25 16:28 ` Andrii Nakryiko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox