bpf-lsm: Make bpf_lsm_userns_create() sleepable
authorFrederick Lawler <fred@cloudflare.com>
Mon, 15 Aug 2022 16:20:26 +0000 (11:20 -0500)
committerPaul Moore <paul@paul-moore.com>
Tue, 16 Aug 2022 21:38:21 +0000 (17:38 -0400)
Users may want to audit calls to security_create_user_ns() and access
user space memory. Also create_user_ns() runs without
pagefault_disabled(). Therefore, make bpf_lsm_userns_create() sleepable
for mandatory access control policies.

Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Acked-by: KP Singh <kpsingh@kernel.org>
Signed-off-by: Frederick Lawler <fred@cloudflare.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
kernel/bpf/bpf_lsm.c

index fa71d58b7dedad2352b19f3b420140d0e0b2cb09..761998fda762687149920aa4a33182fc152a554c 100644 (file)
@@ -335,6 +335,7 @@ BTF_ID(func, bpf_lsm_task_getsecid_obj)
 BTF_ID(func, bpf_lsm_task_prctl)
 BTF_ID(func, bpf_lsm_task_setscheduler)
 BTF_ID(func, bpf_lsm_task_to_inode)
+BTF_ID(func, bpf_lsm_userns_create)
 BTF_SET_END(sleepable_lsm_hooks)
 
 bool bpf_lsm_is_sleepable_hook(u32 btf_id)