Merge branch 'bpf-light-skel'
authorDaniel Borkmann <daniel@iogearbox.net>
Thu, 10 Feb 2022 22:31:51 +0000 (23:31 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 10 Feb 2022 22:32:14 +0000 (23:32 +0100)
commit85fbd23303bcdc474ee2c76190ee59fa31e8f5f2
tree2c708b487fbf686fe0ba29a31355236335e2ce75
parent4f5e483b8c7a644733db941a1ae00173baa7b463
parentcb80ddc67152e72f28ff6ea8517acdf875d7381d
Merge branch 'bpf-light-skel'

Alexei Starovoitov says:

====================
The libbpf performs a set of complex operations to load BPF programs.
With "loader program" and "CO-RE in the kernel" the loading job of
libbpf was diminished. The light skeleton became lean enough to perform
program loading and map creation tasks without libbpf.
It's now possible to tweak it further to make light skeleton usable
out of user space and out of kernel module.
This allows bpf_preload.ko to drop user-mode-driver usage,
drop host compiler dependency, allow cross compilation and simplify the
code. It's a building block toward safe and portable kernel modules.

v3->v4:
- inlined skel_prep_init_value() as direct assignment in lskel

v2->v3:
- dropped vm_mmap() and switched to bpf_loader_ctx->flags & KERNEL approach.
  It allows bpf_preload.ko to be built-in.
  The kernel is able to load bpf progs before init process starts.
- added comments (Yonghong's review)
- added error checks in lskel (Andrii's review)
- added Acks in all but 2nd patch.

v1->v2:
- removed redundant anon struct and added comments (Andrii's reivew)
- added Yonghong's ack
- fixed build warning when JIT is off
====================

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>