]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bpf: Introduce bpf_cgroup_read_xattr to read xattr of cgroup's node
authorSong Liu <song@kernel.org>
Mon, 23 Jun 2025 06:38:52 +0000 (23:38 -0700)
committerChristian Brauner <brauner@kernel.org>
Wed, 2 Jul 2025 12:18:20 +0000 (14:18 +0200)
commitb95ee9049c93b05da66599d6e0d1fcfea291360b
tree38f0ba9d91654eb4c114ee2ca030349ba297cc2e
parentfb7b30cb0e31bce904b4ec6a20e863351f9fee82
bpf: Introduce bpf_cgroup_read_xattr to read xattr of cgroup's node

BPF programs, such as LSM and sched_ext, would benefit from tags on
cgroups. One common practice to apply such tags is to set xattrs on
cgroupfs folders.

Introduce kfunc bpf_cgroup_read_xattr, which allows reading cgroup's
xattr.

Note that, we already have bpf_get_[file|dentry]_xattr. However, these
two APIs are not ideal for reading cgroupfs xattrs, because:

  1) These two APIs only works in sleepable contexts;
  2) There is no kfunc that matches current cgroup to cgroupfs dentry.

bpf_cgroup_read_xattr is generic and can be useful for many program
types. It is also safe, because it requires trusted or rcu protected
argument (KF_RCU). Therefore, we make it available to all program types.

Signed-off-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/20250623063854.1896364-3-song@kernel.org
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/bpf_fs_kfuncs.c
kernel/bpf/helpers.c