twx-linux/tools/lib/bpf
Andrii Nakryiko 297a14fde2 libbpf: Fix no-args func prototype BTF dumping syntax
[ Upstream commit 189f1a976e426011e6a5588f1d3ceedf71fe2965 ]

For all these years libbpf's BTF dumper has been emitting not strictly
valid syntax for function prototypes that have no input arguments.

Instead of `int (*blah)()` we should emit `int (*blah)(void)`.

This is not normally a problem, but it manifests when we get kfuncs in
vmlinux.h that have no input arguments. Due to compiler internal
specifics, we get no BTF information for such kfuncs, if they are not
declared with proper `(void)`.

The fix is trivial. We also need to adjust a few ancient tests that
happily assumed `()` is correct.

Fixes: 351131b51c7a ("libbpf: add btf_dump API for BTF-to-C conversion")
Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://lore.kernel.org/bpf/20240712224442.282823-1-andrii@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-03 08:54:36 +02:00
..
.gitignore libbpf: Make libbpf_version.h non-auto-generated 2021-09-13 15:36:47 -07:00
bpf_core_read.h bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD 2024-07-11 12:49:09 +02:00
bpf_endian.h
bpf_gen_internal.h libbpf: Support kfunc detection in light skeleton. 2023-03-22 09:31:05 -07:00
bpf_helpers.h libbpf: fix offsetof() and container_of() to work with CO-RE 2023-05-12 12:05:21 -07:00
bpf_prog_linfo.c
bpf_tracing.h libbpf: Fix syscall access arguments on riscv 2023-11-20 11:59:00 +01:00
bpf.c libbpf: Add bpf_link_create support for multi uprobes 2023-08-21 15:51:26 -07:00
bpf.h libbpf: Add missing LIBBPF_API annotation to libbpf_set_memlock_rlim API 2024-03-26 18:19:24 -04:00
btf_dump.c libbpf: Fix no-args func prototype BTF dumping syntax 2024-08-03 08:54:36 +02:00
btf.c libbpf: Ensure libbpf always opens files with O_CLOEXEC 2023-05-26 12:05:32 +02:00
btf.h libbpf: Don't require full struct enum64 in UAPI headers 2022-09-27 20:45:17 +02:00
Build libbpf: Move elf_find_func_offset* functions to elf object 2023-08-21 15:51:25 -07:00
elf.c libbpf: Add elf_resolve_pattern_offsets function 2023-08-21 15:51:26 -07:00
gen_loader.c libbpf: Store zero fd to fd_array for loader kfunc relocation 2023-05-16 22:09:23 -07:00
hashmap.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
hashmap.h libbpf: Remove HASHMAP_INIT static initialization helper 2023-07-11 09:40:05 -07:00
libbpf_common.h libbpf: Fix potential uninitialized tail padding with LIBBPF_OPTS_RESET 2024-02-05 20:14:18 +00:00
libbpf_errno.c libbpf: Optimized return value in libbpf_strerror when errno is libbpf errno 2022-12-14 18:39:33 +01:00
libbpf_internal.h libbpf: Fix faccessat() usage on Android 2024-03-26 18:19:23 -04:00
libbpf_legacy.h libbpf: Clean up deprecated and legacy aliases 2022-08-17 22:42:56 +02:00
libbpf_probes.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-08 11:35:14 -07:00
libbpf_version.h libbpf: Start v1.3 development cycle 2023-05-23 21:39:12 +02:00
libbpf.c libbpf: Fix error message in attach_kprobe_multi 2024-06-12 11:11:48 +02:00
libbpf.h libbpf: Add bpf_object__unpin() 2023-08-23 17:10:09 -07:00
libbpf.map libbpf: Add bpf_object__unpin() 2023-08-23 17:10:09 -07:00
libbpf.pc.template
linker.c libbpf: Checking the btf_type kind when fixing variable offsets 2024-08-03 08:53:39 +02:00
Makefile libbpf: fix typos in Makefile 2023-08-02 13:58:51 -07:00
netlink.c libbpf: Use OPTS_SET() macro in bpf_xdp_query() 2024-03-26 18:19:26 -04:00
nlattr.c libbpf: Fix alen calculation in libbpf_nla_dump_errormsg() 2023-02-10 15:27:22 -08:00
nlattr.h libbpf: add API to get XDP/XSK supported features 2023-02-02 20:48:24 -08:00
relo_core.c libbpf: fix signedness determination in CO-RE relo handling logic 2023-08-23 21:13:48 -07:00
relo_core.h bpf, libbpf: Add type match support 2022-07-05 21:14:25 -07:00
ringbuf.c libbpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:45 -08:00
skel_internal.h libbpf: add map_get_fd_by_id and map_delete_elem in light skeleton 2022-08-25 18:52:29 -07:00
str_error.c
str_error.h
strset.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
strset.h
usdt.bpf.h libbpf: Use local includes inside the library 2023-08-04 15:06:46 -07:00
usdt.c libbpf: Add uprobe multi link support to bpf_program__attach_usdt 2023-08-21 15:51:26 -07:00
zip.c libbpf: Ignore warnings about "inefficient alignment" 2023-03-16 18:20:08 +01:00
zip.h libbpf: Implement basic zip archive parsing support 2023-03-01 16:05:34 -08:00