On 12/1/20 1:49 PM, Andrii Nakryiko wrote:
On Tue, Dec 1, 2020 at 1:30 PM Alexei Starovoitov
<alexei.starovoitov@xxxxxxxxx> wrote:
On Mon, Nov 30, 2020 at 7:49 PM Andrii Nakryiko <andrii@xxxxxxxxxx> wrote:
Implement libbpf support for performing CO-RE relocations against types in
kernel module BTFs, in addition to existing vmlinux BTF support.
This is a first step towards fully supporting kernel module BTFs. Subsequent
patch sets will expand kernel and libbpf sides to allow using other
BTF-powered capabilities (fentry/fexit, struct_ops, ksym externs, etc). For
CO-RE relocations support, though, no extra kernel changes are necessary.
This patch set also sets up a convenient and fully-controlled custom kernel
module (called "bpf_testmod"), that is a predictable playground for all the
BPF selftests, that rely on module BTFs.
v2->v3:
- fix subtle uninitialized variable use in BTF ID iteration code;
While testing this patch I've hit this:
Right, I ran into that while testing the second patch set
(fexit/fentry one), and fixed in patch "bpf: keep module's
btf_data_size intact after load". But I've mistakenly added it to the
second patch set, not to this one, my bad. I'll move it into this one.
Or maybe I should just combine those two now for easier logistics?
whichever way. Combining is fine by me, since I've looked at both sets
already.