acrn-kernel/samples
Rong Tao e5659e4e19 samples/bpf: Fix sockex3 error: Missing BPF prog type
since commit 450b167fb9be("libbpf: clean up SEC() handling"),
sec_def_matches() does not recognize "socket/xxx" as "socket", therefore,
the BPF program type is not recognized.

Instead of sockex3_user.c parsing section names to get the BPF program fd.
We use the program array map to assign a static index to each BPF program
(get inspired by selftests/bpf progs/test_prog_array_init.c).
Therefore, use SEC("socket") as section name instead of SEC("socket/xxx"),
so that the BPF program is parsed to SOCKET_FILTER type. The "missing BPF
prog type" problem is solved.

How to reproduce this error:
$ cd samples/bpf
$ sudo ./sockex3
libbpf: prog 'bpf_func_PARSE_IP': missing BPF prog type, check ELF section name 'socket/3'
libbpf: prog 'bpf_func_PARSE_IP': failed to load: -22
libbpf: failed to load object './sockex3_kern.o'
ERROR: loading BPF object file failed

Signed-off-by: Rong Tao <rongtao@cestc.cn>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/tencent_EBA3C18864069E42175946973C2ACBAF5408@qq.com
2022-11-07 17:13:35 -08:00
..
acrn
auxdisplay
binderfs
bpf samples/bpf: Fix sockex3 error: Missing BPF prog type 2022-11-07 17:13:35 -08:00
configfs
connector
coresight
fanotify
fprobe Fixes and minor clean ups for tracing: 2022-07-12 16:17:40 -07:00
ftrace
hidraw
hw_breakpoint
kdb
kfifo
kmemleak
kobject
kprobes samples: Use KSYM_NAME_LEN for kprobes 2022-07-12 16:36:45 -04:00
landlock samples/landlock: Print hints about ABI versions 2022-09-29 18:43:01 +02:00
livepatch
mei
nitro_enclaves
pidfd
pktgen
qmi soc: qcom: qmi: use const for struct qmi_elem_info 2022-08-29 17:33:01 -05:00
rpmsg
rust samples: add first Rust examples 2022-09-28 09:03:08 +02:00
seccomp
timers
trace_events tracing: Add example and documentation for new __vstring() macro 2022-07-24 19:11:17 -04:00
trace_printk
uhid
user_events tracing/user_events: Use bits vs bytes for enabled status page data 2022-09-29 10:17:37 -04:00
v4l
vfio-mdev vfio/mdev: add mdev available instance checking to the core 2022-10-04 12:06:58 -06:00
vfs
watch_queue
watchdog
Kconfig samples: add first Rust examples 2022-09-28 09:03:08 +02:00
Makefile samples: add first Rust examples 2022-09-28 09:03:08 +02:00