[PATCH v10 19/25] integrity: Move integrity_kernel_module_request() to IMA

Mimi Zohar zohar at linux.ibm.com
Fri Feb 16 00:25:41 UTC 2024


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 <roberto.sassu at huawei.com>
> > 
> > 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 <roberto.sassu at huawei.com>
> > Acked-by: Paul Moore <paul at paul-moore.com>
> > Reviewed-by: Stefan Berger <stefanb at linux.ibm.com>
> > Reviewed-by: Mimi Zohar <zohar at linux.ibm.com>
> > Acked-by: Mimi Zohar <zohar at linux.ibm.com>
> 
> 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




More information about the Linux-security-module-archive mailing list