[PATCH v5 04/10] IMA: Updated IMA policy functions to return keyrings option read from the policy
Lakshmi Ramasubramanian
nramas at linux.microsoft.com
Tue Nov 12 17:47:37 UTC 2019
On 11/12/2019 9:05 AM, Mimi Zohar wrote:
>> int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid,
>> enum ima_hooks func, int mask, int flags, int *pcr,
>> - struct ima_template_desc **template_desc)
>> + struct ima_template_desc **template_desc,
>> + char **keyrings)
>> {
>> struct ima_rule_entry *entry;
>> int action = 0, actmask = flags | (flags << 1);
>> @@ -527,6 +529,9 @@ int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid,
>> if ((pcr) && (entry->flags & IMA_PCR))
>> *pcr = entry->pcr;
>>
>> + if ((keyrings) && (entry->flags & IMA_KEYRINGS))
>> + *keyrings = entry->keyrings;
>
> ima_match_rules() determines whether the rule is in policy or not. It
> returns true on rule match, false on failure. There's no need to
> return the list of keyrings.
But the above code change is in ima_match_policy() - not in
ima_match_rules() function.
ima_match_rules() function is updated in Patch #1 -
[PATCH v5 01/10] IMA: Added KEYRING_CHECK func in IMA policy to measure keys
I've updated that function to check if func is "KEYRING_CHECK" and
return true\false as appropriate.
Am I missing something?
-lakshmi
More information about the Linux-security-module-archive
mailing list