linux/tools
Kui-Feng Lee ba0cbe2bb4 selftests/bpf: Make sure libbpf doesn't enforce the signature of a func pointer.
The verifier in the kernel ensures that the struct_ops operators behave
correctly by checking that they access parameters and context
appropriately. The verifier will approve a program as long as it correctly
accesses the context/parameters, regardless of its function signature. In
contrast, libbpf should not verify the signature of function pointers and
functions to enable flexibility in loading various implementations of an
operator even if the signature of the function pointer does not match those
in the implementations or the kernel.

With this flexibility, user space applications can adapt to different
kernel versions by loading a specific implementation of an operator based
on feature detection.

This is a follow-up of the commit c911fc61a7 ("libbpf: Skip zeroed or
null fields if not found in the kernel type.")

Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240404232342.991414-1-thinker.li@gmail.com
2024-04-05 10:33:18 -07:00
..
accounting
arch LoongArch changes for v6.9 2024-03-22 10:22:45 -07:00
bootconfig
bpf bpftool: Mount bpffs on provided dir instead of parent dir 2024-04-04 15:37:12 -07:00
build perf: build: introduce the libcapstone 2024-02-20 18:06:25 -08:00
certs
cgroup
counter
crypto crypto: ccp - Update return values for some unit tests 2024-02-24 08:41:20 +08:00
debugging
firewire
firmware
gpio
hv
iio tools: iio: replace seekdir() in iio_generic_buffer 2024-01-23 22:06:56 +00:00
include selftests/bpf: add fp-leaking precise subprog result tests 2024-04-04 18:31:08 -07:00
kvm/kvm_stat
laptop
leds
lib libbpf: Use local bpf_helpers.h include 2024-04-02 09:28:34 -07:00
memory-model
mm tools/mm: add thpmaps script to dump THP usage info 2024-02-22 10:24:38 -08:00
net/ynl ynl: support hex display_hint for integer 2024-03-28 18:07:08 -07:00
objtool LoongArch changes for v6.9 2024-03-22 10:22:45 -07:00
pci
pcmcia
perf RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
power linux-cpupower-6.9-rc1 2024-03-07 21:02:51 +01:00
rcu
scripts treewide: remove meaningless assignments in Makefiles 2024-02-23 14:19:07 -08:00
spi
testing selftests/bpf: Make sure libbpf doesn't enforce the signature of a func pointer. 2024-04-05 10:33:18 -07:00
thermal
time
tracing tools/rtla: Add -U/--user-load option to timerlat 2024-03-20 05:39:06 +01:00
usb
verification tools/verification: Use tools/build makefiles on rv 2024-03-20 05:39:06 +01:00
virtio tools: virtio: introduce vhost_net_test 2024-03-05 11:38:14 +01:00
wmi
workqueue workqueue: Implement BH workqueues to eventually replace tasklets 2024-02-04 11:28:06 -10:00
Makefile tools/Makefile: remove cgroup target 2024-03-26 11:07:21 -07:00