<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/kernel/bpf/preload/iterators, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/kernel/bpf/preload/iterators?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/kernel/bpf/preload/iterators?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-07-15T19:01:30Z</updated>
<entry>
<title>bpf: iterators: Build and use lightweight bootstrap version of bpftool</title>
<updated>2022-07-15T19:01:30Z</updated>
<author>
<name>Pu Lehui</name>
<email>pulehui@huawei.com</email>
</author>
<published>2022-07-14T02:46:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3848636b4a88f0706f9ce48d532163244abadd43'/>
<id>urn:sha1:3848636b4a88f0706f9ce48d532163244abadd43</id>
<content type='text'>
kernel/bpf/preload/iterators use bpftool for vmlinux.h, skeleton, and
static linking only. So we can use lightweight bootstrap version of
bpftool to handle these, and it will be faster.

Suggested-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Signed-off-by: Pu Lehui &lt;pulehui@huawei.com&gt;
Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20220714024612.944071-4-pulehui@huawei.com
</content>
</entry>
<entry>
<title>bpf: Convert bpf_preload.ko to use light skeleton.</title>
<updated>2022-02-10T22:31:51Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@kernel.org</email>
</author>
<published>2022-02-09T23:20:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=cb80ddc67152e72f28ff6ea8517acdf875d7381d'/>
<id>urn:sha1:cb80ddc67152e72f28ff6ea8517acdf875d7381d</id>
<content type='text'>
The main change is a move of the single line
  #include "iterators.lskel.h"
from iterators/iterators.c to bpf_preload_kern.c.
Which means that generated light skeleton can be used from user space or
user mode driver like iterators.c or from the kernel module or the kernel itself.
The direct use of light skeleton from the kernel module simplifies the code,
since UMD is no longer necessary. The libbpf.a required user space and UMD. The
CO-RE in the kernel and generated "loader bpf program" used by the light
skeleton are capable to perform complex loading operations traditionally
provided by libbpf. In addition UMD approach was launching UMD process
every time bpffs has to be mounted. With light skeleton in the kernel
the bpf_preload kernel module loads bpf iterators once and pins them
multiple times into different bpffs mounts.

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Yonghong Song &lt;yhs@fb.com&gt;
Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20220209232001.27490-6-alexei.starovoitov@gmail.com
</content>
</entry>
<entry>
<title>bpf: Update iterators.lskel.h.</title>
<updated>2022-02-10T22:31:51Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@kernel.org</email>
</author>
<published>2022-02-09T23:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d7beb3d6aba39480590b30c502fbaa2cc1e5e30b'/>
<id>urn:sha1:d7beb3d6aba39480590b30c502fbaa2cc1e5e30b</id>
<content type='text'>
Light skeleton and skel_internal.h have changed.
Update iterators.lskel.h.

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Yonghong Song &lt;yhs@fb.com&gt;
Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20220209232001.27490-5-alexei.starovoitov@gmail.com
</content>
</entry>
<entry>
<title>bpf: Open code obj_get_info_by_fd in bpf preload.</title>
<updated>2022-02-01T22:56:18Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@kernel.org</email>
</author>
<published>2022-01-31T22:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=18ef5dac934a0fb1aeb7d6bee6c81e1fa6bcc598'/>
<id>urn:sha1:18ef5dac934a0fb1aeb7d6bee6c81e1fa6bcc598</id>
<content type='text'>
Open code obj_get_info_by_fd in bpf preload.
It's the last part of libbpf that preload/iterators were using.

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Link: https://lore.kernel.org/bpf/20220131220528.98088-7-alexei.starovoitov@gmail.com
</content>
</entry>
<entry>
<title>bpf: Convert bpf preload to light skeleton.</title>
<updated>2022-02-01T22:56:18Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@kernel.org</email>
</author>
<published>2022-01-31T22:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=79b203926d18cb8c110564d8a09ff646691de9e7'/>
<id>urn:sha1:79b203926d18cb8c110564d8a09ff646691de9e7</id>
<content type='text'>
Convert bpffs preload iterators to light skeleton.

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Link: https://lore.kernel.org/bpf/20220131220528.98088-6-alexei.starovoitov@gmail.com
</content>
</entry>
<entry>
<title>bpf: Remove unnecessary setrlimit from bpf preload.</title>
<updated>2022-02-01T22:56:18Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@kernel.org</email>
</author>
<published>2022-01-31T22:05:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1ddbddd7065182c10c7c50ba6daf890edfdf7377'/>
<id>urn:sha1:1ddbddd7065182c10c7c50ba6daf890edfdf7377</id>
<content type='text'>
BPF programs and maps are memcg accounted. setrlimit is obsolete.
Remove its use from bpf preload.

Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Link: https://lore.kernel.org/bpf/20220131220528.98088-5-alexei.starovoitov@gmail.com
</content>
</entry>
<entry>
<title>bpftool: Add install-bin target to install binary only</title>
<updated>2021-10-08T19:02:40Z</updated>
<author>
<name>Quentin Monnet</name>
<email>quentin@isovalent.com</email>
</author>
<published>2021-10-07T19:44:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d7db0a4e8d95101ebb545444578ba7085c270e5f'/>
<id>urn:sha1:d7db0a4e8d95101ebb545444578ba7085c270e5f</id>
<content type='text'>
With "make install", bpftool installs its binary and its bash completion
file. Usually, this is what we want. But a few components in the kernel
repository (namely, BPF iterators and selftests) also install bpftool
locally before using it. In such a case, bash completion is not
necessary and is just a useless build artifact.

Let's add an "install-bin" target to bpftool, to offer a way to install
the binary only.

Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;
Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20211007194438.34443-13-quentin@isovalent.com
</content>
</entry>
<entry>
<title>bpf: iterators: Install libbpf headers when building</title>
<updated>2021-10-08T18:58:54Z</updated>
<author>
<name>Quentin Monnet</name>
<email>quentin@isovalent.com</email>
</author>
<published>2021-10-07T19:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7bf731dcc641f7d7c71d1932678e0de8ea472612'/>
<id>urn:sha1:7bf731dcc641f7d7c71d1932678e0de8ea472612</id>
<content type='text'>
API headers from libbpf should not be accessed directly from the
library's source directory. Instead, they should be exported with "make
install_headers". Let's make sure that bpf/preload/iterators/Makefile
installs the headers properly when building.

Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;
Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20211007194438.34443-8-quentin@isovalent.com
</content>
</entry>
<entry>
<title>libbpf: Move BPF_SEQ_PRINTF and BPF_SNPRINTF to bpf_helpers.h</title>
<updated>2021-05-26T17:45:41Z</updated>
<author>
<name>Florent Revest</name>
<email>revest@chromium.org</email>
</author>
<published>2021-05-26T16:46:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d6a6a55518c16040a369360255b355b7a2a261de'/>
<id>urn:sha1:d6a6a55518c16040a369360255b355b7a2a261de</id>
<content type='text'>
These macros are convenient wrappers around the bpf_seq_printf and
bpf_snprintf helpers. They are currently provided by bpf_tracing.h which
targets low level tracing primitives. bpf_helpers.h is a better fit.

The __bpf_narg and __bpf_apply are needed in both files and provided
twice. __bpf_empty isn't used anywhere and is removed from bpf_tracing.h

Reported-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Signed-off-by: Florent Revest &lt;revest@chromium.org&gt;
Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;
Link: https://lore.kernel.org/bpf/20210526164643.2881368-1-revest@chromium.org
</content>
</entry>
<entry>
<title>bpf: Remove unnecessary &lt;argp.h&gt; include from preload/iterators</title>
<updated>2021-01-08T21:39:24Z</updated>
<author>
<name>Leah Neukirchen</name>
<email>leah@vuxu.org</email>
</author>
<published>2020-12-16T10:03:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=619775c3cfd2bc8559abc4395bf7d85b72bd723f'/>
<id>urn:sha1:619775c3cfd2bc8559abc4395bf7d85b72bd723f</id>
<content type='text'>
This program does not use argp (which is a glibcism). Instead include &lt;errno.h&gt;
directly, which was pulled in by &lt;argp.h&gt;.

Signed-off-by: Leah Neukirchen &lt;leah@vuxu.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Song Liu &lt;songliubraving@fb.com&gt;
Link: https://lore.kernel.org/bpf/20201216100306.30942-1-leah@vuxu.org
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
</feed>
