Re: [PATCH v2 1/2] KEYS: use synchronous task work for changing parent credentials
From: "Jarkko Sakkinen" <jarkko@kernel.org>
Date: 2024-08-15 18:10:29
Also in:
keyrings, lkml, selinux
From: "Jarkko Sakkinen" <jarkko@kernel.org>
Date: 2024-08-15 18:10:29
Also in:
keyrings, lkml, selinux
On Mon Aug 5, 2024 at 2:54 PM EEST, Jann Horn wrote:
keyctl_session_to_parent() involves posting task work to the parent task, with work function key_change_session_keyring. Because the task work in the parent runs asynchronously, no errors can be returned back to the caller of keyctl_session_to_parent(), and therefore the work function key_change_session_keyring() can't be allowed to fail due to things like memory allocation failure or permission checks - all allocations and checks have to happen in the child. This is annoying for two reasons: - It is the only reason why cred_alloc_blank() and security_transfer_creds() are necessary. - It means we can't do synchronous permission checks.
I agree with this premise. Also I think the code change is reasonable. I'd like to see a comment from David tho. BR, Jarkko