[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211013073348.1611155-1-memxor@gmail.com>
Date: Wed, 13 Oct 2021 13:03:40 +0530
From: Kumar Kartikeya Dwivedi <memxor@...il.com>
To: bpf@...r.kernel.org
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Toke Høiland-Jørgensen <toke@...hat.com>,
netdev@...r.kernel.org
Subject: [PATCH bpf-next v2 0/8] Typeless/weak ksym for gen_loader + misc fixups
Patches (1,2,3,6) add typeless and weak ksym support to gen_loader. It is follow
up for the recent kfunc from modules series.
The later patches (7,8) are misc fixes for selftests, and patch 4 for libbpf
where we try to be careful to not end up with fds == 0, as libbpf assumes in
various places that they are greater than 0. Patch 5 fixes up missing O_CLOEXEC
in libbpf.
Please look at patch 4 and 5 closely and whether I missed any other places that
need a change.
Changelog:
----------
v1 -> v2
v1: https://lore.kernel.org/bpf/20211006002853.308945-1-memxor@gmail.com
* Remove redundant OOM checks in emit_bpf_kallsyms_lookup_name
* Use designated initializer for sk_lookup fd array (Jakub)
* Do fd check for all fd returning low level APIs (Andrii, Alexei)
* Make Fixes: tag quote commit message, use selftests/bpf prefix (Song, Andrii)
* Split typeless and weak ksym support into separate patches, expand commit
message (Song)
* Fix duplication in selftests stemming from use of LSKELS_EXTRA (Song)
Kumar Kartikeya Dwivedi (8):
bpf: Add bpf_kallsyms_lookup_name helper
libbpf: Add typeless ksym support to gen_loader
libbpf: Add weak ksym support to gen_loader
libbpf: Ensure that BPF syscall fds are never 0, 1, or 2
libbpf: Use O_CLOEXEC uniformly when opening fds
selftests/bpf: Add weak/typeless ksym test for light skeleton
selftests/bpf: Fix fd cleanup in sk_lookup test
selftests/bpf: Fix memory leak in test_ima
include/linux/bpf.h | 1 +
include/uapi/linux/bpf.h | 14 +++
kernel/bpf/syscall.c | 24 ++++
tools/include/uapi/linux/bpf.h | 14 +++
tools/lib/bpf/bpf.c | 28 ++---
tools/lib/bpf/bpf_gen_internal.h | 12 +-
tools/lib/bpf/btf.c | 2 +-
tools/lib/bpf/gen_loader.c | 119 ++++++++++++++++--
tools/lib/bpf/libbpf.c | 53 ++++----
tools/lib/bpf/libbpf_internal.h | 23 ++++
tools/lib/bpf/libbpf_probes.c | 2 +-
tools/lib/bpf/linker.c | 4 +-
tools/lib/bpf/ringbuf.c | 2 +-
tools/lib/bpf/skel_internal.h | 34 ++++-
tools/lib/bpf/xsk.c | 6 +-
tools/testing/selftests/bpf/Makefile | 7 +-
.../selftests/bpf/prog_tests/ksyms_btf.c | 35 +++++-
.../selftests/bpf/prog_tests/ksyms_module.c | 40 +++++-
.../bpf/prog_tests/ksyms_module_libbpf.c | 28 -----
.../selftests/bpf/prog_tests/sk_lookup.c | 14 ++-
.../selftests/bpf/prog_tests/test_ima.c | 3 +-
.../selftests/bpf/progs/test_ksyms_weak.c | 3 +-
22 files changed, 359 insertions(+), 109 deletions(-)
delete mode 100644 tools/testing/selftests/bpf/prog_tests/ksyms_module_libbpf.c
--
2.33.0
Powered by blists - more mailing lists