2024-02-16 00:26:43

by Mimi Zohar

[permalink] [raw]
Subject: Re: [PATCH v10 19/25] integrity: Move integrity_kernel_module_request() to IMA

On Thu, 2024-02-15 at 17:09 +0100, Roberto Sassu wrote:
> On Thu, 2024-02-15 at 11:31 +0100, Roberto Sassu wrote:
> > From: Roberto Sassu <[email protected]>
> >
> > In preparation for removing the 'integrity' LSM, move
> > integrity_kernel_module_request() to IMA, and rename it to
> > ima_kernel_module_request(). Rewrite the function documentation, to explain
> > better what the problem is.
> >
> > Compile it conditionally if CONFIG_INTEGRITY_ASYMMETRIC_KEYS is enabled,
> > and call it from security.c (removed afterwards with the move of IMA to the
> > LSM infrastructure).
> >
> > Adding this hook cannot be avoided, since IMA has no control on the flags
> > passed to crypto_alloc_sig() in public_key_verify_signature(), and thus
> > cannot pass CRYPTO_NOLOAD, which solved the problem for EVM hashing with
> > commit e2861fa71641 ("evm: Don't deadlock if a crypto algorithm is
> > unavailable").
> >
> > EVM alone does not need to implement this hook, first because there is no
> > mutex to deadlock, and second because even if it had it, there should be a
> > recursive call. However, since verification from EVM can be initiated only
> > by setting inode metadata, deadlock would occur if modprobe would do the
> > same while loading a kernel module (which is unlikely).
> >
> > Signed-off-by: Roberto Sassu <[email protected]>
> > Acked-by: Paul Moore <[email protected]>
> > Reviewed-by: Stefan Berger <[email protected]>
> > Reviewed-by: Mimi Zohar <[email protected]>
> > Acked-by: Mimi Zohar <[email protected]>
>
> I hope the change of the ima_kernel_module_request() documentation is
> fine for everyone.
>
> If not, let me know.

Thanks, Roberto. The updated kernel-doc looks good.

Mimi