diff options
| author | Alexei Starovoitov <[email protected]> | 2022-02-09 15:20:01 -0800 |
|---|---|---|
| committer | Daniel Borkmann <[email protected]> | 2022-02-10 23:31:51 +0100 |
| commit | cb80ddc67152e72f28ff6ea8517acdf875d7381d (patch) | |
| tree | 2c708b487fbf686fe0ba29a31355236335e2ce75 /kernel/bpf/preload/Kconfig | |
| parent | d7beb3d6aba39480590b30c502fbaa2cc1e5e30b (diff) | |
bpf: Convert bpf_preload.ko to use light skeleton.
The main change is a move of the single line
#include "iterators.lskel.h"
from iterators/iterators.c to bpf_preload_kern.c.
Which means that generated light skeleton can be used from user space or
user mode driver like iterators.c or from the kernel module or the kernel itself.
The direct use of light skeleton from the kernel module simplifies the code,
since UMD is no longer necessary. The libbpf.a required user space and UMD. The
CO-RE in the kernel and generated "loader bpf program" used by the light
skeleton are capable to perform complex loading operations traditionally
provided by libbpf. In addition UMD approach was launching UMD process
every time bpffs has to be mounted. With light skeleton in the kernel
the bpf_preload kernel module loads bpf iterators once and pins them
multiple times into different bpffs mounts.
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Acked-by: Yonghong Song <[email protected]>
Acked-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'kernel/bpf/preload/Kconfig')
| -rw-r--r-- | kernel/bpf/preload/Kconfig | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/bpf/preload/Kconfig b/kernel/bpf/preload/Kconfig index 26bced262473..c9d45c9d6918 100644 --- a/kernel/bpf/preload/Kconfig +++ b/kernel/bpf/preload/Kconfig @@ -18,10 +18,9 @@ menuconfig BPF_PRELOAD if BPF_PRELOAD config BPF_PRELOAD_UMD - tristate "bpf_preload kernel module with user mode driver" - depends on CC_CAN_LINK - depends on m || CC_CAN_LINK_STATIC + tristate "bpf_preload kernel module" default m help - This builds bpf_preload kernel module with embedded user mode driver. + This builds bpf_preload kernel module with embedded BPF programs for + introspection in bpffs. endif |