Re: [PATCH v2 1/4] KEYS: Defined an ima hook for measuring keys on key create or update

From: Mimi Zohar
Date: Sun Oct 27 2019 - 10:47:35 EST


On Fri, 2019-10-25 at 15:28 -0700, Lakshmi Ramasubramanian wrote:
> On 10/25/2019 12:40 PM, Mimi Zohar wrote:
>
> >> +void ima_post_key_create_or_update(struct key *keyring, struct key *key,
> >> + unsigned long flags, bool create)
> >> +{
> >> + const struct public_key *pk;
> >> +
> >> + if (key->type != &key_type_asymmetric)
> >> + return;
> >> +
> >> + if (!ima_initialized)
> >> + return;
> >
> > There's no reason to define a new variable to determine if IMA is
> > initialized. ÂUse ima_policy_flag.
>
> Please correct me if I am wrong -
>
> ima_policy_flag will be set to 0 if IMA is not yet initialized
> OR
> IMA is initialized, but ima_policy_flag could be still set to 0 (say,
> due to the configured policy).
>
> In the latter case the measurement request should be a NOP immediately.

I'm not sure. ÂThe builtin keys most likely will be loaded prior to a
custom IMA policy containing "keyring" rules are defined.

Mimi