mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH bpf-next v3 0/8] bpf, sockmap: Restrict iter-context sockmap updates to sockmap iterators
@ 2026-11-07 17:58 Michal Luczaj
  2026-11-07 17:58 ` [PATCH bpf-next v3 1/8] selftests/bpf: Remove sockmap update from bpf_iter_unix Michal Luczaj
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Michal Luczaj @ 2026-11-07 17:58 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Eduard Zingerman, Kumar Kartikeya Dwivedi, Martin KaFai Lau,
	Song Liu, Yonghong Song, Jiri Olsa, Emil Tsalapatis,
	Ihor Solodrai, Shuah Khan, John Fastabend, Eric Dumazet,
	Kuniyuki Iwashima, Paolo Abeni, Willem de Bruijn, Jakub Sitnicki,
	Jiayuan Chen, David S. Miller, Jakub Kicinski, Simon Horman,
	Jonathan Corbet, Shuah Khan, Randy Dunlap, Stanislav Fomichev
  Cc: Michal Luczaj, bpf, linux-kselftest, linux-kernel, netdev,
	linux-doc, Sashiko

Follow-up to Sashiko's report [1] and the decision to restrict which
iterator may perform sockmap updates [2]. Series started short: remove
about-to-be-stale test, restrict updates, add a negative test. Then it
expanded: mark bpf_iter__sockmap::sk as PTR_TRUSTED, restrict
bpf_sock_destroy() callers to iter/{tcp,udp}, few little tweaks.

[1]: https://msgid.link/20260626205814.BAC3C1F000E9@smtp.kernel.org
[2]: https://msgid.link/87echn2fhd.fsf@cloudflare.com

Signed-off-by: Michal Luczaj <mhal@rbox.co>
---
Changes in v3:
- Drop RFC prefix
- Update bpf_iter_reg::feature docs
- Fix tcp_request_sock BTF build error
- Restrict allowed callers of bpf_sock_destroy() to iter/{tcp,udp} (Alexei)
- Link to v2: https://patch.msgid.link/20261102-sockmap-update-limit-iter-v2-0-e96a63c43b39@rbox.co

Changes in v2:
- Commit 7cc639dc45c5 ("bpf: Don't take an extension for an iterator
  program") and commit b83bacf2161d ("bpf: Don't take a program with a
  target program for an iterator") landed. Drop the redundant
  env->prog->type check.
- Mark bpf_iter__sockmap::sk as PTR_TRUSTED (Alexei)
- Link to v1: https://patch.msgid.link/20261016-sockmap-update-limit-iter-v1-0-23fa946db59e@rbox.co

To: Alexei Starovoitov <ast@kernel.org>
To: Daniel Borkmann <daniel@iogearbox.net>
To: Andrii Nakryiko <andrii@kernel.org>
To: Eduard Zingerman <eddyz87@gmail.com>
To: Kumar Kartikeya Dwivedi <memxor@gmail.com>
To: Martin KaFai Lau <martin.lau@linux.dev>
To: Song Liu <song@kernel.org>
To: Yonghong Song <yonghong.song@linux.dev>
To: Jiri Olsa <jolsa@kernel.org>
To: Emil Tsalapatis <emil@etsalapatis.com>
To: Ihor Solodrai <ihor.solodrai@linux.dev>
To: Shuah Khan <shuah@kernel.org>
To: John Fastabend <john.fastabend@gmail.com>
To: Eric Dumazet <edumazet@kernel.org>
To: Kuniyuki Iwashima <kuniyu@google.com>
To: Paolo Abeni <pabeni@redhat.com>
To: Willem de Bruijn <willemb@google.com>
To: Jakub Sitnicki <jakub@cloudflare.com>
To: Jiayuan Chen <jiayuan.chen@linux.dev>
To: "David S. Miller" <davem@davemloft.net>
To: Jakub Kicinski <kuba@kernel.org>
To: Simon Horman <horms@kernel.org>
To: Jonathan Corbet <corbet@lwn.net>
To: Shuah Khan <skhan@linuxfoundation.org>
To: Randy Dunlap <rdunlap@infradead.org>
To: Stanislav Fomichev <sdf@fomichev.me>
Cc: bpf@vger.kernel.org
Cc: linux-kselftest@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-doc@vger.kernel.org

---
Michal Luczaj (8):
      selftests/bpf: Remove sockmap update from bpf_iter_unix
      bpf, sockmap: Restrict iter-context sockmap updates to iter/sockmap
      selftests/bpf: Add negative test for sockmap update from non-sockmap iter
      bpf, docs: Document BPF_ITER_NOSLEEP
      bpf: Restrict bpf_sock_destroy() to iter/{tcp,udp}
      bpf: Mark bpf_iter__sockmap::sk as PTR_TRUSTED
      selftests/bpf: Add iter/sockmap bpf_sock_destroy() negative test
      bpf: Fix "unresolved symbol tcp_request_sock" build error

 Documentation/bpf/bpf_iterators.rst                       | 12 +++++++++---
 kernel/bpf/verifier.c                                     |  4 +++-
 net/core/filter.c                                         | 15 ++++++++++++++-
 net/core/sock_map.c                                       |  2 +-
 tools/testing/selftests/bpf/progs/bpf_iter_unix.c         | 10 ----------
 .../testing/selftests/bpf/progs/sock_destroy_prog_fail.c  | 11 +++++++++++
 .../testing/selftests/bpf/progs/verifier_sockmap_mutate.c | 14 ++++++++++++++
 7 files changed, 52 insertions(+), 16 deletions(-)
---
base-commit: 2d0b457611c06304138754a05e0873cc18acfb7e
change-id: 20261008-sockmap-update-limit-iter-d03ea25f9775

Best regards,
--  
Michal Luczaj <mhal@rbox.co>


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-11-09  2:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-07 17:58 [PATCH bpf-next v3 0/8] bpf, sockmap: Restrict iter-context sockmap updates to sockmap iterators Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 1/8] selftests/bpf: Remove sockmap update from bpf_iter_unix Michal Luczaj
2026-11-09  2:14   ` Jiayuan Chen
2026-11-07 17:58 ` [PATCH bpf-next v3 2/8] bpf, sockmap: Restrict iter-context sockmap updates to iter/sockmap Michal Luczaj
2026-11-09  2:15   ` Jiayuan Chen
2026-11-07 17:58 ` [PATCH bpf-next v3 3/8] selftests/bpf: Add negative test for sockmap update from non-sockmap iter Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 4/8] bpf, docs: Document BPF_ITER_NOSLEEP Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 5/8] bpf: Restrict bpf_sock_destroy() to iter/{tcp,udp} Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 6/8] bpf: Mark bpf_iter__sockmap::sk as PTR_TRUSTED Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 7/8] selftests/bpf: Add iter/sockmap bpf_sock_destroy() negative test Michal Luczaj
2026-11-07 17:58 ` [PATCH bpf-next v3 8/8] bpf: Fix "unresolved symbol tcp_request_sock" build error Michal Luczaj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®