<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in sysfs-kernel-btf</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>36e68442 - bpf: Load and verify kernel module BTFs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf#36e68442</link>
        <description>bpf: Load and verify kernel module BTFsAdd kernel module listener that will load/validate and unload module BTF.Module BTFs gets ID generated for them, which makes it possible to iteratethem with existing BTF iteration API. They are given their respective module&apos;snames, which will get reported through GET_OBJ_INFO API. They are also markedas in-kernel BTFs for tooling to distinguish them from user-provided BTFs.Also, similarly to vmlinux BTF, kernel module BTFs are exposed throughsysfs as /sys/kernel/btf/&lt;module-name&gt;. This is convenient for user-spacetools to inspect module BTF contents and dump their types with existing tools:[vmuser@archvm bpf]$ ls -la /sys/kernel/btftotal 0drwxr-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 vmlinuxSigned-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Link: https://lore.kernel.org/bpf/20201110011932.3201430-5-andrii@kernel.org

            List of files:
            /linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf</description>
        <pubDate>Tue, 10 Nov 2020 01:19:31 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>7fd78568 - btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinux</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf#7fd78568</link>
        <description>btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinuxExpose kernel&apos;s BTF under the name vmlinux to be more uniform with usingkernel module names as file names in the future.Fixes: 341dfcf8d78e (&quot;btf: expose BTF info through sysfs&quot;)Suggested-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;

            List of files:
            /linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf</description>
        <pubDate>Tue, 13 Aug 2019 18:54:42 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andriin@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>341dfcf8 - btf: expose BTF info through sysfs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf#341dfcf8</link>
        <description>btf: expose BTF info through sysfsMake .BTF section allocated and expose its contents through sysfs./sys/kernel/btf directory is created to contain all the BTFs presentinside kernel. Currently there is only kernel&apos;s main BTF, represented as/sys/kernel/btf/kernel file. Once kernel modules&apos; BTFs are supported,each module will expose its BTF as /sys/kernel/btf/&lt;module-name&gt; file.Current approach relies on a few pieces coming together:1. pahole is used to take almost final vmlinux image (modulo .BTF and   kallsyms) and generate .BTF section by converting DWARF info into   BTF. This section is not allocated and not mapped to any segment,   though, so is not yet accessible from inside kernel at runtime.2. objcopy dumps .BTF contents into binary file and subsequently   convert binary file into linkable object file with automatically   generated symbols _binary__btf_kernel_bin_start and   _binary__btf_kernel_bin_end, pointing to start and end, respectively,   of BTF raw data.3. final vmlinux image is generated by linking this object file (and   kallsyms, if necessary). sysfs_btf.c then creates   /sys/kernel/btf/kernel file and exposes embedded BTF contents through   it. This allows, e.g., libbpf and bpftool access BTF info at   well-known location, without resorting to searching for vmlinux image   on disk (location of which is not standardized and vmlinux image   might not be even available in some scenarios, e.g., inside qemu   during testing).Alternative approach using .incbin assembler directive to embed BTFcontents directly was attempted but didn&apos;t work, because sysfs_proc.o isnot re-compiled during link-vmlinux.sh stage. This is required, though,to update embedded BTF data (initially empty data is embedded, thenpahole generates BTF info and we need to regenerate sysfs_btf.o withupdated contents, but it&apos;s too late at that point).If BTF couldn&apos;t be generated due to missing or too old pahole,sysfs_btf.c handles that gracefully by detecting that_binary__btf_kernel_bin_start (weak symbol) is 0 and not creating/sys/kernel/btf at all.v2-&gt;v3:- added Documentation/ABI/testing/sysfs-kernel-btf (Greg K-H);- created proper kobject (btf_kobj) for btf directory (Greg K-H);- undo v2 change of reusing vmlinux, as it causes extra kallsyms pass  due to initially missing  __binary__btf_kernel_bin_{start/end} symbols;v1-&gt;v2:- allow kallsyms stage to re-use vmlinux generated by gen_btf();Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;

            List of files:
            /linux-6.15/Documentation/ABI/testing/sysfs-kernel-btf</description>
        <pubDate>Mon, 12 Aug 2019 18:39:47 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andriin@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
