[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210812164557.79046-1-kuniyu@amazon.co.jp>
Date: Fri, 13 Aug 2021 01:45:53 +0900
From: Kuniyuki Iwashima <kuniyu@...zon.co.jp>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
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>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>
CC: Benjamin Herrenschmidt <benh@...zon.com>,
Kuniyuki Iwashima <kuniyu@...zon.co.jp>,
Kuniyuki Iwashima <kuni1840@...il.com>, <bpf@...r.kernel.org>,
<netdev@...r.kernel.org>
Subject: [PATCH v5 bpf-next 0/4] BPF iterator for UNIX domain socket.
This patch set adds BPF iterator support for UNIX domain socket. The first
patch implements it, and the second adds "%c" support for BPF_SEQ_PRINTF().
Changelog:
v5:
- Align header line of bpf_iter_unix.c
- Add test for "%c"
v4:
https://lore.kernel.org/netdev/20210810092807.13190-1-kuniyu@amazon.co.jp/
- Check IS_BUILTIN(CONFIG_UNIX)
- Support "%c" in BPF_SEQ_PRINTF()
- Uncomment the code to print the name of the abstract socket
- Mention the LLVM fix in README.rst
- Remove the 'aligned' attribute in bpf_iter.h
- Keep the format string on a single line
v3:
https://lore.kernel.org/netdev/20210804070851.97834-1-kuniyu@amazon.co.jp/
- Export some functions for CONFIG_UNIX=m
v2:
https://lore.kernel.org/netdev/20210803011110.21205-1-kuniyu@amazon.co.jp/
- Implement bpf_iter specific seq_ops->stop()
- Add bpf_iter__unix in bpf_iter.h
- Move common definitions in selftest to bpf_tracing_net.h
- Include the code for abstract UNIX domain socket as comment in selftest
- Use ASSERT_OK_PTR() instead of CHECK()
- Make ternary operators on single line
v1:
https://lore.kernel.org/netdev/20210729233645.4869-1-kuniyu@amazon.co.jp/
Kuniyuki Iwashima (4):
bpf: af_unix: Implement BPF iterator for UNIX domain socket.
bpf: Support "%c" in bpf_bprintf_prepare().
selftest/bpf: Implement sample UNIX domain socket iterator program.
selftest/bpf: Extend the bpf_snprintf() test for "%c".
include/linux/btf_ids.h | 3 +-
kernel/bpf/helpers.c | 14 +++
net/unix/af_unix.c | 93 +++++++++++++++++++
tools/testing/selftests/bpf/README.rst | 38 ++++++++
.../selftests/bpf/prog_tests/bpf_iter.c | 16 ++++
.../selftests/bpf/prog_tests/snprintf.c | 4 +-
tools/testing/selftests/bpf/progs/bpf_iter.h | 8 ++
.../selftests/bpf/progs/bpf_iter_unix.c | 77 +++++++++++++++
.../selftests/bpf/progs/bpf_tracing_net.h | 4 +
.../selftests/bpf/progs/test_snprintf.c | 7 +-
10 files changed, 259 insertions(+), 5 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_unix.c
--
2.30.2
Powered by blists - more mailing lists