diff options
author | Jonathan Wiepert <jonathan.wiepert@gmail.com> | 2025-04-25 01:14:57 +0300 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2025-04-25 19:27:17 +0300 |
commit | 91dbac4076537b464639953c055c460d2bdfc7ea (patch) | |
tree | 0ea083355fd3dd12996f03632af2fd0276af0e21 /tools/lib/bpf | |
parent | 64821d25f05ac468d435e61669ae745ce5a633ea (diff) | |
download | linux-91dbac4076537b464639953c055c460d2bdfc7ea.tar.xz |
Use thread-safe function pointer in libbpf_print
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.
Fixes: f1cb927cdb62 ("libbpf: Ensure print callback usage is thread-safe")
Signed-off-by: Jonathan Wiepert <jonathan.wiepert@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Mykyta Yatsenko <mykyta.yatsenko5@gmail.com>
Link: https://lore.kernel.org/bpf/20250424221457.793068-1-jonathan.wiepert@gmail.com
Diffstat (limited to 'tools/lib/bpf')
-rw-r--r-- | tools/lib/bpf/libbpf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 080c699582c7..617cfb9a7ff5 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -286,7 +286,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; |