36e68442d1
Add kernel module listener that will load/validate and unload module BTF. Module BTFs gets ID generated for them, which makes it possible to iterate them with existing BTF iteration API. They are given their respective module's names, which will get reported through GET_OBJ_INFO API. They are also marked as in-kernel BTFs for tooling to distinguish them from user-provided BTFs. Also, similarly to vmlinux BTF, kernel module BTFs are exposed through sysfs as /sys/kernel/btf/<module-name>. This is convenient for user-space tools to inspect module BTF contents and dump their types with existing tools: [vmuser@archvm bpf]$ ls -la /sys/kernel/btf total 0 drwxr-xr-x 2 root root 0 Nov 4 19:46 . drwxr-xr-x 13 root root 0 Nov 4 19:46 .. ... -r--r--r-- 1 root root 888 Nov 4 19:46 irqbypass -r--r--r-- 1 root root 100225 Nov 4 19:46 kvm -r--r--r-- 1 root root 35401 Nov 4 19:46 kvm_intel -r--r--r-- 1 root root 120 Nov 4 19:46 pcspkr -r--r--r-- 1 root root 399 Nov 4 19:46 serio_raw -r--r--r-- 1 root root 4094095 Nov 4 19:46 vmlinux Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/bpf/20201110011932.3201430-5-andrii@kernel.org
26 lines
742 B
Plaintext
26 lines
742 B
Plaintext
What: /sys/kernel/btf
|
|
Date: Aug 2019
|
|
KernelVersion: 5.5
|
|
Contact: bpf@vger.kernel.org
|
|
Description:
|
|
Contains BTF type information and related data for kernel and
|
|
kernel modules.
|
|
|
|
What: /sys/kernel/btf/vmlinux
|
|
Date: Aug 2019
|
|
KernelVersion: 5.5
|
|
Contact: bpf@vger.kernel.org
|
|
Description:
|
|
Read-only binary attribute exposing kernel's own BTF type
|
|
information with description of all internal kernel types. See
|
|
Documentation/bpf/btf.rst for detailed description of format
|
|
itself.
|
|
|
|
What: /sys/kernel/btf/<module-name>
|
|
Date: Nov 2020
|
|
KernelVersion: 5.11
|
|
Contact: bpf@vger.kernel.org
|
|
Description:
|
|
Read-only binary attribute exposing kernel module's BTF type
|
|
information as an add-on to the kernel's BTF (/sys/kernel/btf/vmlinux).
|