Thread (32 messages) 32 messages, 2 authors, 2024-01-25

Re: [PATCH v2 bpf-next 00/30] BPF token

From: patchwork-bot+netdevbpf@kernel.org
Date: 2024-01-25 00:10:35
Also in: bpf, linux-fsdevel, linux-security-module

Hello:

This series was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko [off-list ref]:

On Tue, 23 Jan 2024 18:20:57 -0800 you wrote:
This patch set is a combination of three BPF token-related patch sets ([0],
[1], [2]) with fixes ([3]) to kernel-side token_fd passing APIs incorporated
into relevant patches, bpf_token_capable() changes requested by
Christian Brauner, and necessary libbpf and BPF selftests side adjustments.

This patch set introduces an ability to delegate a subset of BPF subsystem
functionality from privileged system-wide daemon (e.g., systemd or any other
container manager) through special mount options for userns-bound BPF FS to
a *trusted* unprivileged application. Trust is the key here. This
functionality is not about allowing unconditional unprivileged BPF usage.
Establishing trust, though, is completely up to the discretion of respective
privileged application that would create and mount a BPF FS instance with
delegation enabled, as different production setups can and do achieve it
through a combination of different means (signing, LSM, code reviews, etc),
and it's undesirable and infeasible for kernel to enforce any particular way
of validating trustworthiness of particular process.

[...]
Here is the summary with links:
  - [v2,bpf-next,01/30] bpf: align CAP_NET_ADMIN checks with bpf_capable() approach
    https://git.kernel.org/bpf/bpf-next/c/1310957bfe65
  - [v2,bpf-next,02/30] bpf: add BPF token delegation mount options to BPF FS
    https://git.kernel.org/bpf/bpf-next/c/e43831fe57bb
  - [v2,bpf-next,03/30] bpf: introduce BPF token object
    https://git.kernel.org/bpf/bpf-next/c/5263a65a6ac2
  - [v2,bpf-next,04/30] bpf: add BPF token support to BPF_MAP_CREATE command
    https://git.kernel.org/bpf/bpf-next/c/18c9f8248366
  - [v2,bpf-next,05/30] bpf: add BPF token support to BPF_BTF_LOAD command
    https://git.kernel.org/bpf/bpf-next/c/6f19475e52cc
  - [v2,bpf-next,06/30] bpf: add BPF token support to BPF_PROG_LOAD command
    https://git.kernel.org/bpf/bpf-next/c/5880ef9dc52a
  - [v2,bpf-next,07/30] bpf: take into account BPF token when fetching helper protos
    https://git.kernel.org/bpf/bpf-next/c/b1099b53eee6
  - [v2,bpf-next,08/30] bpf: consistently use BPF token throughout BPF verifier logic
    https://git.kernel.org/bpf/bpf-next/c/3f042d22873b
  - [v2,bpf-next,09/30] bpf,lsm: refactor bpf_prog_alloc/bpf_prog_free LSM hooks
    https://git.kernel.org/bpf/bpf-next/c/d2fd2efe9797
  - [v2,bpf-next,10/30] bpf,lsm: refactor bpf_map_alloc/bpf_map_free LSM hooks
    https://git.kernel.org/bpf/bpf-next/c/a60dd8f5232a
  - [v2,bpf-next,11/30] bpf,lsm: add BPF token LSM hooks
    https://git.kernel.org/bpf/bpf-next/c/736762bc089d
  - [v2,bpf-next,12/30] libbpf: add bpf_token_create() API
    https://git.kernel.org/bpf/bpf-next/c/aa6385965f34
  - [v2,bpf-next,13/30] libbpf: add BPF token support to bpf_map_create() API
    https://git.kernel.org/bpf/bpf-next/c/8b7971beaa5f
  - [v2,bpf-next,14/30] libbpf: add BPF token support to bpf_btf_load() API
    https://git.kernel.org/bpf/bpf-next/c/3f06a307a8ae
  - [v2,bpf-next,15/30] libbpf: add BPF token support to bpf_prog_load() API
    https://git.kernel.org/bpf/bpf-next/c/34ace19d6c52
  - [v2,bpf-next,16/30] selftests/bpf: add BPF token-enabled tests
    https://git.kernel.org/bpf/bpf-next/c/3d8da8a12fcd
  - [v2,bpf-next,17/30] bpf,selinux: allocate bpf_security_struct per BPF token
    https://git.kernel.org/bpf/bpf-next/c/f78006420686
  - [v2,bpf-next,18/30] bpf: fail BPF_TOKEN_CREATE if no delegation option was set on BPF FS
    https://git.kernel.org/bpf/bpf-next/c/ef4fc8918e7a
  - [v2,bpf-next,19/30] bpf: support symbolic BPF FS delegation mount options
    https://git.kernel.org/bpf/bpf-next/c/e45dac29dc87
  - [v2,bpf-next,20/30] selftests/bpf: utilize string values for delegate_xxx mount options
    https://git.kernel.org/bpf/bpf-next/c/9d4ebc33d665
  - [v2,bpf-next,21/30] libbpf: split feature detectors definitions from cached results
    https://git.kernel.org/bpf/bpf-next/c/05d51b9f2c99
  - [v2,bpf-next,22/30] libbpf: further decouple feature checking logic from bpf_object
    https://git.kernel.org/bpf/bpf-next/c/0c2bd7588e5d
  - [v2,bpf-next,23/30] libbpf: move feature detection code into its own file
    https://git.kernel.org/bpf/bpf-next/c/df7f8d83b298
  - [v2,bpf-next,24/30] libbpf: wire up token_fd into feature probing logic
    https://git.kernel.org/bpf/bpf-next/c/5955455b74bd
  - [v2,bpf-next,25/30] libbpf: wire up BPF token support at BPF object level
    https://git.kernel.org/bpf/bpf-next/c/4ba1dbeb6982
  - [v2,bpf-next,26/30] selftests/bpf: add BPF object loading tests with explicit token passing
    https://git.kernel.org/bpf/bpf-next/c/b2f72bbb2857
  - [v2,bpf-next,27/30] selftests/bpf: add tests for BPF object load with implicit token
    https://git.kernel.org/bpf/bpf-next/c/d4e4ea903a04
  - [v2,bpf-next,28/30] libbpf: support BPF token path setting through LIBBPF_BPF_TOKEN_PATH envvar
    https://git.kernel.org/bpf/bpf-next/c/e296ff93f7e9
  - [v2,bpf-next,29/30] selftests/bpf: add tests for LIBBPF_BPF_TOKEN_PATH envvar
    https://git.kernel.org/bpf/bpf-next/c/d168bbfbf776
  - [v2,bpf-next,30/30] selftests/bpf: incorporate LSM policy to token-based tests
    https://git.kernel.org/bpf/bpf-next/c/6b9a115dbde0

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help