From: Andrii Nakryiko <andrii@kernel.org>
To: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net,
martin.lau@kernel.org
Cc: viro@kernel.org, linux-fsdevel@vger.kernel.org,
brauner@kernel.org, torvalds@linux-foundation.org,
Andrii Nakryiko <andrii@kernel.org>
Subject: [PATCH bpf-next 0/8] BPF follow ups to struct fd refactorings
Date: Tue, 13 Aug 2024 16:02:52 -0700 [thread overview]
Message-ID: <20240813230300.915127-1-andrii@kernel.org> (raw)
This patch set extracts all the BPF-related changes done in [0] into
a separate series based on top of stable-struct_fd branch ([1]) merged into
bpf-next tree. There are also a few changes, additions, and adjustments:
- patch subjects adjusted to use "bpf: " prefix consistently;
- patch #2 is extracting bpf-related changes from original patch #19
("fdget_raw() users: switch to CLASS(fd_raw, ...)") and is ordered a bit
earlier in this patch set;
- patch #3 is reimplemented and replaces original patch #17
("bpf: resolve_pseudo_ldimm64(): take handling of a single ldimm64 insn into helper")
completely;
- in patch #4 ("bpf: switch maps to CLASS(fd, ...)"), which was originally
patch #18 ("bpf maps: switch to CLASS(fd, ...)"), I've combined
__bpf_get_map() and bpf_file_to_map() into __bpf_get_map(), as the latter
is only used from it and makes no sense to keep separate;
- as part of rebasing patch #4, I adjusted newly added in patch #3
add_used_map_from_fd() function to use CLASS(fd, ...), as now
__bpf_get_map() doesn't do its own fdput() anymore. This made unnecessary
any further bpf_map_inc() changes, because we still rely on struct fd to
keep map's file reference alive;
- patches #5 and #6 are BPF-specific bits extracted from original patch #23
("fdget(), trivial conversions") and #24 ("fdget(), more trivial conversions");
- patch #7 constifies security_bpf_token_create() LSM hook;
- patch #8 is original patch #35 ("convert bpf_token_create()"), with
path_get()+path_put() removed now that LSM hook above was adjusted.
All these patches were pushed into a separate bpf-next/struct_fd branch ([2]).
They were also merged into bpf-next/for-next so they can get early testing in
linux-next.
[0] https://lore.kernel.org/bpf/20240730050927.GC5334@ZenIV/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/log/?h=stable-struct_fd
[2] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/log/?h=struct_fd
Al Viro (6):
bpf: convert __bpf_prog_get() to CLASS(fd, ...)
bpf: switch fdget_raw() uses to CLASS(fd_raw, ...)
bpf: switch maps to CLASS(fd, ...)
bpf: trivial conversions for fdget()
bpf: more trivial fdget() conversions
bpf: convert bpf_token_create() to CLASS(fd, ...)
Andrii Nakryiko (2):
bpf: factor out fetching bpf_map from FD and adding it to used_maps
list
security,bpf: constify struct path in bpf_token_create() LSM hook
include/linux/bpf.h | 11 +-
include/linux/lsm_hook_defs.h | 2 +-
include/linux/security.h | 4 +-
kernel/bpf/bpf_inode_storage.c | 24 ++---
kernel/bpf/btf.c | 11 +-
kernel/bpf/map_in_map.c | 38 ++-----
kernel/bpf/syscall.c | 181 +++++++++------------------------
kernel/bpf/token.c | 74 +++++---------
kernel/bpf/verifier.c | 110 +++++++++++---------
net/core/sock_map.c | 23 ++---
security/security.c | 2 +-
security/selinux/hooks.c | 2 +-
12 files changed, 179 insertions(+), 303 deletions(-)
--
2.43.5
next reply other threads:[~2024-08-13 23:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-13 23:02 Andrii Nakryiko [this message]
2024-08-13 23:02 ` [PATCH bpf-next 1/8] bpf: convert __bpf_prog_get() to CLASS(fd, ...) Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 2/8] bpf: switch fdget_raw() uses to CLASS(fd_raw, ...) Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 3/8] bpf: factor out fetching bpf_map from FD and adding it to used_maps list Andrii Nakryiko
2024-08-14 21:39 ` Jiri Olsa
2024-08-14 23:17 ` Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 4/8] bpf: switch maps to CLASS(fd, ...) Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 5/8] bpf: trivial conversions for fdget() Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 6/8] bpf: more trivial fdget() conversions Andrii Nakryiko
2024-08-13 23:02 ` [PATCH bpf-next 7/8] security,bpf: constify struct path in bpf_token_create() LSM hook Andrii Nakryiko
2024-08-27 23:02 ` Andrii Nakryiko
2024-08-27 23:20 ` Paul Moore
2024-08-27 23:30 ` Andrii Nakryiko
2024-08-13 23:03 ` [PATCH bpf-next 8/8] bpf: convert bpf_token_create() to CLASS(fd, ...) Andrii Nakryiko
2024-08-27 22:55 ` [PATCH bpf-next 0/8] BPF follow ups to struct fd refactorings Andrii Nakryiko
2024-09-12 23:57 ` Al Viro
2024-09-13 0:10 ` Andrii Nakryiko
2024-09-13 0:18 ` Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240813230300.915127-1-andrii@kernel.org \
--to=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=daniel@iogearbox.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=martin.lau@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.