Re: [PATCH v6 2/3] IMA: Define an IMA hook to measure keys

From: Lakshmi Ramasubramanian
Date: Wed Nov 13 2019 - 15:52:53 EST


On 11/13/19 12:09 PM, Mimi Zohar wrote:

All that is is needed is the key and public_key structures, which are
defined in include/linux/keys.h and include/crypto/public_key.h. ÂIf
the keys subsystem is disabled, then the new IMA hook won't be called.
ÂThere's no need for a new Kconfig option or a new file.

Please move the hook to just after ima_kexec_cmdline().

Mimi

Yes - IMA hook won't be called when KEYS subsystem is disabled.

But, build dependency is breaking since "struct key" is not defined without CONFIG_KEYS.

Sasha was able to craft a .config that enabled IMA without enabling KEYS and found the build break.

Please see the build output he'd shared.

***********************************************************************

In file included from security/integrity/ima/ima.h:25,
from security/integrity/ima/ima_fs.c:26:
./include/keys/asymmetric-type.h: In function âasymmetric_key_idsâ:
./include/keys/asymmetric-type.h:72:12: error: dereferencing pointer to incomplete type âconst struct keyâ
return key->payload.data[asym_key_ids];
^~
make[3]: *** [scripts/Makefile.build:266: security/integrity/ima/ima_fs.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from security/integrity/ima/ima.h:25,
from security/integrity/ima/ima_queue.c:22:
./include/keys/asymmetric-type.h: In function âasymmetric_key_idsâ:
./include/keys/asymmetric-type.h:72:12: error: dereferencing pointer to incomplete type âconst struct keyâ
return key->payload.data[asym_key_ids];

***********************************************************************

thanks,
-lakshmi