2022-08-01 18:24:26

by Frederick Lawler

[permalink] [raw]
Subject: [PATCH v4 2/4] bpf-lsm: Make bpf_lsm_userns_create() sleepable

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.

Signed-off-by: Frederick Lawler <[email protected]>
Acked-by: Christian Brauner (Microsoft) <[email protected]>

---
Changes since v3:
- None
Changes since v2:
- Rename create_user_ns hook to userns_create
Changes since v1:
- None
---
kernel/bpf/bpf_lsm.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/bpf/bpf_lsm.c b/kernel/bpf/bpf_lsm.c
index c1351df9f7ee..4593437809cc 100644
--- a/kernel/bpf/bpf_lsm.c
+++ b/kernel/bpf/bpf_lsm.c
@@ -250,6 +250,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)
--
2.30.2



2022-08-01 23:27:34

by Alexei Starovoitov

[permalink] [raw]
Subject: Re: [PATCH v4 2/4] bpf-lsm: Make bpf_lsm_userns_create() sleepable

On Mon, Aug 01, 2022 at 01:01:44PM -0500, Frederick Lawler wrote:
> 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.
>
> Signed-off-by: Frederick Lawler <[email protected]>
> Acked-by: Christian Brauner (Microsoft) <[email protected]>

We can take this set through bpf-next tree if it's easier.

Or if it goes through other trees:
Acked-by: Alexei Starovoitov <[email protected]>

2022-08-01 23:31:51

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH v4 2/4] bpf-lsm: Make bpf_lsm_userns_create() sleepable

On Mon, Aug 1, 2022 at 7:00 PM Alexei Starovoitov
<[email protected]> wrote:
>
> On Mon, Aug 01, 2022 at 01:01:44PM -0500, Frederick Lawler wrote:
> > 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.
> >
> > Signed-off-by: Frederick Lawler <[email protected]>
> > Acked-by: Christian Brauner (Microsoft) <[email protected]>
>
> We can take this set through bpf-next tree if it's easier.

Thanks Alexei, but I'm currently planning to merge it into the LSM
next branch once the merge window closes.

> Or if it goes through other trees:
> Acked-by: Alexei Starovoitov <[email protected]>

I appreciate the review/ACK, would you mind reviewing the tests too (patch 3/4)?

--
paul-moore.com

2022-08-02 21:33:03

by KP Singh

[permalink] [raw]
Subject: Re: [PATCH v4 2/4] bpf-lsm: Make bpf_lsm_userns_create() sleepable

On Mon, Aug 1, 2022 at 8:02 PM Frederick Lawler <[email protected]> wrote:
>
> 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.
>
> Signed-off-by: Frederick Lawler <[email protected]>
> Acked-by: Christian Brauner (Microsoft) <[email protected]>

Acked-by: KP Singh <[email protected]>