Lines Matching full:entry
383 static void ima_lsm_free_rule(struct ima_rule_entry *entry) in ima_lsm_free_rule() argument
388 ima_filter_rule_free(entry->lsm[i].rule); in ima_lsm_free_rule()
389 kfree(entry->lsm[i].args_p); in ima_lsm_free_rule()
393 static void ima_free_rule(struct ima_rule_entry *entry) in ima_free_rule() argument
395 if (!entry) in ima_free_rule()
399 * entry->template->fields may be allocated in ima_parse_rule() but that in ima_free_rule()
403 kfree(entry->fsname); in ima_free_rule()
404 kfree(entry->fs_subtype); in ima_free_rule()
405 ima_free_rule_opt_list(entry->keyrings); in ima_free_rule()
406 ima_lsm_free_rule(entry); in ima_free_rule()
407 kfree(entry); in ima_free_rule()
410 static struct ima_rule_entry *ima_lsm_copy_rule(struct ima_rule_entry *entry, in ima_lsm_copy_rule() argument
420 nentry = kmemdup(entry, sizeof(*nentry), gfp); in ima_lsm_copy_rule()
427 if (!entry->lsm[i].args_p) in ima_lsm_copy_rule()
430 nentry->lsm[i].type = entry->lsm[i].type; in ima_lsm_copy_rule()
431 nentry->lsm[i].args_p = entry->lsm[i].args_p; in ima_lsm_copy_rule()
444 static int ima_lsm_update_rule(struct ima_rule_entry *entry) in ima_lsm_update_rule() argument
449 nentry = ima_lsm_copy_rule(entry, GFP_KERNEL); in ima_lsm_update_rule()
453 list_replace_rcu(&entry->list, &nentry->list); in ima_lsm_update_rule()
457 * LSM references, from entry to nentry so we only want to free the LSM in ima_lsm_update_rule()
458 * references and the entry itself. All other memory references will now in ima_lsm_update_rule()
462 ima_filter_rule_free(entry->lsm[i].rule); in ima_lsm_update_rule()
463 kfree(entry); in ima_lsm_update_rule()
468 static bool ima_rule_contains_lsm_cond(struct ima_rule_entry *entry) in ima_rule_contains_lsm_cond() argument
473 if (entry->lsm[i].args_p) in ima_rule_contains_lsm_cond()
486 struct ima_rule_entry *entry, *e; in ima_lsm_update_rules() local
489 list_for_each_entry_safe(entry, e, &ima_policy_rules, list) { in ima_lsm_update_rules()
490 if (!ima_rule_contains_lsm_cond(entry)) in ima_lsm_update_rules()
493 result = ima_lsm_update_rule(entry); in ima_lsm_update_rules()
758 struct ima_rule_entry *entry; in ima_match_policy() local
767 list_for_each_entry_rcu(entry, ima_rules_tmp, list) { in ima_match_policy()
769 if (!(entry->action & actmask)) in ima_match_policy()
772 if (!ima_match_rules(entry, idmap, inode, cred, prop, in ima_match_policy()
776 action |= entry->flags & IMA_NONACTION_FLAGS; in ima_match_policy()
778 action |= entry->action & IMA_DO_MASK; in ima_match_policy()
779 if (entry->action & IMA_APPRAISE) { in ima_match_policy()
780 action |= get_subaction(entry, func); in ima_match_policy()
786 entry->flags & IMA_VALIDATE_ALGOS) in ima_match_policy()
787 *allowed_algos = entry->allowed_algos; in ima_match_policy()
790 if (entry->action & IMA_DO_MASK) in ima_match_policy()
791 actmask &= ~(entry->action | entry->action << 1); in ima_match_policy()
793 actmask &= ~(entry->action | entry->action >> 1); in ima_match_policy()
795 if ((pcr) && (entry->flags & IMA_PCR)) in ima_match_policy()
796 *pcr = entry->pcr; in ima_match_policy()
798 if (template_desc && entry->template) in ima_match_policy()
799 *template_desc = entry->template; in ima_match_policy()
826 struct ima_rule_entry *entry; in ima_update_policy_flags() local
832 list_for_each_entry_rcu(entry, ima_rules_tmp, list) { in ima_update_policy_flags()
845 if (entry->func == SETXATTR_CHECK) { in ima_update_policy_flags()
847 0, entry->allowed_algos); in ima_update_policy_flags()
852 if (entry->action & IMA_DO_MASK) in ima_update_policy_flags()
853 new_policy_flag |= entry->action; in ima_update_policy_flags()
883 struct ima_rule_entry *entry; in add_rules() local
889 entry = kmemdup(&entries[i], sizeof(*entry), in add_rules()
891 if (!entry) in add_rules()
894 list_add_tail(&entry->list, &ima_policy_rules); in add_rules()
907 static int ima_parse_rule(char *rule, struct ima_rule_entry *entry);
1144 static int ima_lsm_rule_init(struct ima_rule_entry *entry, in ima_lsm_rule_init() argument
1149 if (entry->lsm[lsm_rule].rule) in ima_lsm_rule_init()
1152 entry->lsm[lsm_rule].args_p = match_strdup(args); in ima_lsm_rule_init()
1153 if (!entry->lsm[lsm_rule].args_p) in ima_lsm_rule_init()
1156 entry->lsm[lsm_rule].type = audit_type; in ima_lsm_rule_init()
1157 result = ima_filter_rule_init(entry->lsm[lsm_rule].type, Audit_equal, in ima_lsm_rule_init()
1158 entry->lsm[lsm_rule].args_p, in ima_lsm_rule_init()
1159 &entry->lsm[lsm_rule].rule, in ima_lsm_rule_init()
1161 if (!entry->lsm[lsm_rule].rule) { in ima_lsm_rule_init()
1163 entry->lsm[lsm_rule].args_p); in ima_lsm_rule_init()
1166 kfree(entry->lsm[lsm_rule].args_p); in ima_lsm_rule_init()
1167 entry->lsm[lsm_rule].args_p = NULL; in ima_lsm_rule_init()
1256 static bool ima_validate_rule(struct ima_rule_entry *entry) in ima_validate_rule() argument
1259 if (entry->action == UNKNOWN) in ima_validate_rule()
1262 if (entry->action != MEASURE && entry->flags & IMA_PCR) in ima_validate_rule()
1265 if (entry->action != APPRAISE && in ima_validate_rule()
1266 entry->flags & (IMA_DIGSIG_REQUIRED | IMA_MODSIG_ALLOWED | in ima_validate_rule()
1276 if (((entry->flags & IMA_FUNC) && entry->func == NONE) || in ima_validate_rule()
1277 (!(entry->flags & IMA_FUNC) && entry->func != NONE)) in ima_validate_rule()
1284 switch (entry->func) { in ima_validate_rule()
1294 if (entry->flags & ~(IMA_FUNC | IMA_MASK | IMA_FSMAGIC | in ima_validate_rule()
1308 if (entry->flags & ~(IMA_FUNC | IMA_MASK | IMA_FSMAGIC | in ima_validate_rule()
1320 if (entry->action & ~(MEASURE | DONT_MEASURE)) in ima_validate_rule()
1323 if (entry->flags & ~(IMA_FUNC | IMA_FSMAGIC | IMA_UID | in ima_validate_rule()
1332 if (entry->action & ~(MEASURE | DONT_MEASURE)) in ima_validate_rule()
1335 if (entry->flags & ~(IMA_FUNC | IMA_UID | IMA_GID | IMA_PCR | in ima_validate_rule()
1339 if (ima_rule_contains_lsm_cond(entry)) in ima_validate_rule()
1344 if (entry->action & ~(MEASURE | DONT_MEASURE)) in ima_validate_rule()
1347 if (entry->flags & ~(IMA_FUNC | IMA_UID | IMA_GID | IMA_PCR | in ima_validate_rule()
1351 if (ima_rule_contains_lsm_cond(entry)) in ima_validate_rule()
1357 if (entry->action != APPRAISE) in ima_validate_rule()
1361 if (!(entry->flags & IMA_VALIDATE_ALGOS)) in ima_validate_rule()
1368 if (entry->flags & ~(IMA_FUNC | IMA_VALIDATE_ALGOS)) in ima_validate_rule()
1377 if (entry->flags & IMA_CHECK_BLACKLIST && in ima_validate_rule()
1378 !(entry->flags & IMA_DIGSIG_REQUIRED)) in ima_validate_rule()
1388 if (entry->action == APPRAISE && in ima_validate_rule()
1389 (entry->flags & IMA_VERITY_REQUIRED) && in ima_validate_rule()
1390 !(entry->flags & IMA_DIGSIG_REQUIRED)) in ima_validate_rule()
1424 static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) in ima_parse_rule() argument
1436 entry->uid = INVALID_UID; in ima_parse_rule()
1437 entry->gid = INVALID_GID; in ima_parse_rule()
1438 entry->fowner = INVALID_UID; in ima_parse_rule()
1439 entry->fgroup = INVALID_GID; in ima_parse_rule()
1440 entry->uid_op = &uid_eq; in ima_parse_rule()
1441 entry->gid_op = &gid_eq; in ima_parse_rule()
1442 entry->fowner_op = &vfsuid_eq_kuid; in ima_parse_rule()
1443 entry->fgroup_op = &vfsgid_eq_kgid; in ima_parse_rule()
1444 entry->action = UNKNOWN; in ima_parse_rule()
1459 if (entry->action != UNKNOWN) in ima_parse_rule()
1462 entry->action = MEASURE; in ima_parse_rule()
1467 if (entry->action != UNKNOWN) in ima_parse_rule()
1470 entry->action = DONT_MEASURE; in ima_parse_rule()
1475 if (entry->action != UNKNOWN) in ima_parse_rule()
1478 entry->action = APPRAISE; in ima_parse_rule()
1483 if (entry->action != UNKNOWN) in ima_parse_rule()
1486 entry->action = DONT_APPRAISE; in ima_parse_rule()
1491 if (entry->action != UNKNOWN) in ima_parse_rule()
1494 entry->action = AUDIT; in ima_parse_rule()
1499 if (entry->action != UNKNOWN) in ima_parse_rule()
1502 entry->action = DONT_AUDIT; in ima_parse_rule()
1507 if (entry->action != UNKNOWN) in ima_parse_rule()
1510 entry->action = HASH; in ima_parse_rule()
1515 if (entry->action != UNKNOWN) in ima_parse_rule()
1518 entry->action = DONT_HASH; in ima_parse_rule()
1523 if (entry->func) in ima_parse_rule()
1527 entry->func = FILE_CHECK; in ima_parse_rule()
1530 entry->func = FILE_CHECK; in ima_parse_rule()
1532 entry->func = MODULE_CHECK; in ima_parse_rule()
1534 entry->func = FIRMWARE_CHECK; in ima_parse_rule()
1537 entry->func = MMAP_CHECK; in ima_parse_rule()
1539 entry->func = MMAP_CHECK_REQPROT; in ima_parse_rule()
1541 entry->func = BPRM_CHECK; in ima_parse_rule()
1543 entry->func = CREDS_CHECK; in ima_parse_rule()
1546 entry->func = KEXEC_KERNEL_CHECK; in ima_parse_rule()
1549 entry->func = KEXEC_INITRAMFS_CHECK; in ima_parse_rule()
1551 entry->func = POLICY_CHECK; in ima_parse_rule()
1553 entry->func = KEXEC_CMDLINE; in ima_parse_rule()
1556 entry->func = KEY_CHECK; in ima_parse_rule()
1558 entry->func = CRITICAL_DATA; in ima_parse_rule()
1560 entry->func = SETXATTR_CHECK; in ima_parse_rule()
1564 entry->flags |= IMA_FUNC; in ima_parse_rule()
1569 if (entry->mask) in ima_parse_rule()
1577 entry->mask = MAY_EXEC; in ima_parse_rule()
1579 entry->mask = MAY_WRITE; in ima_parse_rule()
1581 entry->mask = MAY_READ; in ima_parse_rule()
1583 entry->mask = MAY_APPEND; in ima_parse_rule()
1587 entry->flags |= (*args[0].from == '^') in ima_parse_rule()
1593 if (entry->fsmagic) { in ima_parse_rule()
1598 result = kstrtoul(args[0].from, 16, &entry->fsmagic); in ima_parse_rule()
1600 entry->flags |= IMA_FSMAGIC; in ima_parse_rule()
1605 entry->fsname = kstrdup(args[0].from, GFP_KERNEL); in ima_parse_rule()
1606 if (!entry->fsname) { in ima_parse_rule()
1611 entry->flags |= IMA_FSNAME; in ima_parse_rule()
1616 if (entry->fs_subtype) { in ima_parse_rule()
1621 entry->fs_subtype = kstrdup(args[0].from, GFP_KERNEL); in ima_parse_rule()
1622 if (!entry->fs_subtype) { in ima_parse_rule()
1627 entry->flags |= IMA_FS_SUBTYPE; in ima_parse_rule()
1633 entry->keyrings) { in ima_parse_rule()
1638 entry->keyrings = ima_alloc_rule_opt_list(args); in ima_parse_rule()
1639 if (IS_ERR(entry->keyrings)) { in ima_parse_rule()
1640 result = PTR_ERR(entry->keyrings); in ima_parse_rule()
1641 entry->keyrings = NULL; in ima_parse_rule()
1645 entry->flags |= IMA_KEYRINGS; in ima_parse_rule()
1650 if (entry->label) { in ima_parse_rule()
1655 entry->label = ima_alloc_rule_opt_list(args); in ima_parse_rule()
1656 if (IS_ERR(entry->label)) { in ima_parse_rule()
1657 result = PTR_ERR(entry->label); in ima_parse_rule()
1658 entry->label = NULL; in ima_parse_rule()
1662 entry->flags |= IMA_LABEL; in ima_parse_rule()
1667 if (!uuid_is_null(&entry->fsuuid)) { in ima_parse_rule()
1672 result = uuid_parse(args[0].from, &entry->fsuuid); in ima_parse_rule()
1674 entry->flags |= IMA_FSUUID; in ima_parse_rule()
1678 entry->uid_op = &uid_gt; in ima_parse_rule()
1683 entry->uid_op = &uid_lt; in ima_parse_rule()
1694 if (uid_valid(entry->uid)) { in ima_parse_rule()
1701 entry->uid = make_kuid(current_user_ns(), in ima_parse_rule()
1703 if (!uid_valid(entry->uid) || in ima_parse_rule()
1707 entry->flags |= eid_token in ima_parse_rule()
1713 entry->gid_op = &gid_gt; in ima_parse_rule()
1718 entry->gid_op = &gid_lt; in ima_parse_rule()
1729 if (gid_valid(entry->gid)) { in ima_parse_rule()
1736 entry->gid = make_kgid(current_user_ns(), in ima_parse_rule()
1738 if (!gid_valid(entry->gid) || in ima_parse_rule()
1742 entry->flags |= eid_token in ima_parse_rule()
1747 entry->fowner_op = &vfsuid_gt_kuid; in ima_parse_rule()
1751 entry->fowner_op = &vfsuid_lt_kuid; in ima_parse_rule()
1756 if (uid_valid(entry->fowner)) { in ima_parse_rule()
1763 entry->fowner = make_kuid(current_user_ns(), in ima_parse_rule()
1765 if (!uid_valid(entry->fowner) || in ima_parse_rule()
1769 entry->flags |= IMA_FOWNER; in ima_parse_rule()
1773 entry->fgroup_op = &vfsgid_gt_kgid; in ima_parse_rule()
1777 entry->fgroup_op = &vfsgid_lt_kgid; in ima_parse_rule()
1782 if (gid_valid(entry->fgroup)) { in ima_parse_rule()
1789 entry->fgroup = make_kgid(current_user_ns(), in ima_parse_rule()
1791 if (!gid_valid(entry->fgroup) || in ima_parse_rule()
1795 entry->flags |= IMA_FGROUP; in ima_parse_rule()
1800 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1806 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1812 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1818 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1824 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1830 result = ima_lsm_rule_init(entry, args, in ima_parse_rule()
1836 if (entry->flags & IMA_DIGSIG_REQUIRED) in ima_parse_rule()
1839 entry->flags |= IMA_VERITY_REQUIRED; in ima_parse_rule()
1847 if (entry->flags & IMA_VERITY_REQUIRED) in ima_parse_rule()
1850 entry->flags |= IMA_DIGSIG_REQUIRED | IMA_CHECK_BLACKLIST; in ima_parse_rule()
1853 if (entry->flags & IMA_VERITY_REQUIRED) in ima_parse_rule()
1854 entry->flags |= IMA_DIGSIG_REQUIRED | IMA_CHECK_BLACKLIST; in ima_parse_rule()
1859 if (entry->flags & IMA_VERITY_REQUIRED) in ima_parse_rule()
1862 entry->flags |= IMA_DIGSIG_REQUIRED | in ima_parse_rule()
1874 if (entry->allowed_algos) { in ima_parse_rule()
1879 entry->allowed_algos = in ima_parse_rule()
1882 if (!entry->allowed_algos) { in ima_parse_rule()
1887 entry->flags |= IMA_VALIDATE_ALGOS; in ima_parse_rule()
1891 entry->flags |= IMA_PERMIT_DIRECTIO; in ima_parse_rule()
1896 result = kstrtoint(args[0].from, 10, &entry->pcr); in ima_parse_rule()
1897 if (result || INVALID_PCR(entry->pcr)) in ima_parse_rule()
1900 entry->flags |= IMA_PCR; in ima_parse_rule()
1905 if (entry->action != MEASURE) { in ima_parse_rule()
1910 if (!template_desc || entry->template) { in ima_parse_rule()
1923 entry->template = template_desc; in ima_parse_rule()
1931 if (!result && !ima_validate_rule(entry)) in ima_parse_rule()
1933 else if (entry->action == APPRAISE) in ima_parse_rule()
1934 temp_ima_appraise |= ima_appraise_flag(entry->func); in ima_parse_rule()
1936 if (!result && entry->flags & IMA_MODSIG_ALLOWED) { in ima_parse_rule()
1937 template_desc = entry->template ? entry->template : in ima_parse_rule()
1943 if (!result && entry->action == MEASURE && in ima_parse_rule()
1944 entry->flags & IMA_VERITY_REQUIRED) { in ima_parse_rule()
1945 template_desc = entry->template ? entry->template : in ima_parse_rule()
1967 struct ima_rule_entry *entry; in ima_parse_add_rule() local
1978 entry = kzalloc_obj(*entry); in ima_parse_add_rule()
1979 if (!entry) { in ima_parse_add_rule()
1985 INIT_LIST_HEAD(&entry->list); in ima_parse_add_rule()
1987 result = ima_parse_rule(p, entry); in ima_parse_add_rule()
1989 ima_free_rule(entry); in ima_parse_add_rule()
1996 list_add_tail(&entry->list, &ima_temp_rules); in ima_parse_add_rule()
2010 struct ima_rule_entry *entry, *tmp; in ima_delete_rules() local
2013 list_for_each_entry_safe(entry, tmp, &ima_temp_rules, list) { in ima_delete_rules()
2014 list_del(&entry->list); in ima_delete_rules()
2015 ima_free_rule(entry); in ima_delete_rules()
2040 struct ima_rule_entry *entry; in ima_policy_start() local
2045 list_for_each_entry_rcu(entry, ima_rules_tmp, list) { in ima_policy_start()
2048 return entry; in ima_policy_start()
2057 struct ima_rule_entry *entry = v; in ima_policy_next() local
2060 entry = list_entry_rcu(entry->list.next, struct ima_rule_entry, list); in ima_policy_next()
2064 return (&entry->list == &ima_default_rules || in ima_policy_next()
2065 &entry->list == &ima_policy_rules) ? NULL : entry; in ima_policy_next()
2114 struct ima_rule_entry *entry = v; in ima_policy_show() local
2123 if (entry->lsm[i].args_p && !entry->lsm[i].rule) { in ima_policy_show()
2129 if (entry->action & MEASURE) in ima_policy_show()
2131 if (entry->action & DONT_MEASURE) in ima_policy_show()
2133 if (entry->action & APPRAISE) in ima_policy_show()
2135 if (entry->action & DONT_APPRAISE) in ima_policy_show()
2137 if (entry->action & AUDIT) in ima_policy_show()
2139 if (entry->action & DONT_AUDIT) in ima_policy_show()
2141 if (entry->action & HASH) in ima_policy_show()
2143 if (entry->action & DONT_HASH) in ima_policy_show()
2148 if (entry->flags & IMA_FUNC) in ima_policy_show()
2149 policy_func_show(m, entry->func); in ima_policy_show()
2151 if ((entry->flags & IMA_MASK) || (entry->flags & IMA_INMASK)) { in ima_policy_show()
2152 if (entry->flags & IMA_MASK) in ima_policy_show()
2154 if (entry->mask & MAY_EXEC) in ima_policy_show()
2156 if (entry->mask & MAY_WRITE) in ima_policy_show()
2158 if (entry->mask & MAY_READ) in ima_policy_show()
2160 if (entry->mask & MAY_APPEND) in ima_policy_show()
2165 if (entry->flags & IMA_FSMAGIC) { in ima_policy_show()
2166 snprintf(tbuf, sizeof(tbuf), "0x%lx", entry->fsmagic); in ima_policy_show()
2171 if (entry->flags & IMA_FSNAME) { in ima_policy_show()
2172 snprintf(tbuf, sizeof(tbuf), "%s", entry->fsname); in ima_policy_show()
2177 if (entry->flags & IMA_FS_SUBTYPE) { in ima_policy_show()
2178 snprintf(tbuf, sizeof(tbuf), "%s", entry->fs_subtype); in ima_policy_show()
2183 if (entry->flags & IMA_KEYRINGS) { in ima_policy_show()
2185 ima_show_rule_opt_list(m, entry->keyrings); in ima_policy_show()
2189 if (entry->flags & IMA_LABEL) { in ima_policy_show()
2191 ima_show_rule_opt_list(m, entry->label); in ima_policy_show()
2195 if (entry->flags & IMA_PCR) { in ima_policy_show()
2196 snprintf(tbuf, sizeof(tbuf), "%d", entry->pcr); in ima_policy_show()
2201 if (entry->flags & IMA_FSUUID) { in ima_policy_show()
2202 seq_printf(m, "fsuuid=%pU", &entry->fsuuid); in ima_policy_show()
2206 if (entry->flags & IMA_UID) { in ima_policy_show()
2207 snprintf(tbuf, sizeof(tbuf), "%d", __kuid_val(entry->uid)); in ima_policy_show()
2208 if (entry->uid_op == &uid_gt) in ima_policy_show()
2210 else if (entry->uid_op == &uid_lt) in ima_policy_show()
2217 if (entry->flags & IMA_EUID) { in ima_policy_show()
2218 snprintf(tbuf, sizeof(tbuf), "%d", __kuid_val(entry->uid)); in ima_policy_show()
2219 if (entry->uid_op == &uid_gt) in ima_policy_show()
2221 else if (entry->uid_op == &uid_lt) in ima_policy_show()
2228 if (entry->flags & IMA_GID) { in ima_policy_show()
2229 snprintf(tbuf, sizeof(tbuf), "%d", __kgid_val(entry->gid)); in ima_policy_show()
2230 if (entry->gid_op == &gid_gt) in ima_policy_show()
2232 else if (entry->gid_op == &gid_lt) in ima_policy_show()
2239 if (entry->flags & IMA_EGID) { in ima_policy_show()
2240 snprintf(tbuf, sizeof(tbuf), "%d", __kgid_val(entry->gid)); in ima_policy_show()
2241 if (entry->gid_op == &gid_gt) in ima_policy_show()
2243 else if (entry->gid_op == &gid_lt) in ima_policy_show()
2250 if (entry->flags & IMA_FOWNER) { in ima_policy_show()
2251 snprintf(tbuf, sizeof(tbuf), "%d", __kuid_val(entry->fowner)); in ima_policy_show()
2252 if (entry->fowner_op == &vfsuid_gt_kuid) in ima_policy_show()
2254 else if (entry->fowner_op == &vfsuid_lt_kuid) in ima_policy_show()
2261 if (entry->flags & IMA_FGROUP) { in ima_policy_show()
2262 snprintf(tbuf, sizeof(tbuf), "%d", __kgid_val(entry->fgroup)); in ima_policy_show()
2263 if (entry->fgroup_op == &vfsgid_gt_kgid) in ima_policy_show()
2265 else if (entry->fgroup_op == &vfsgid_lt_kgid) in ima_policy_show()
2272 if (entry->flags & IMA_VALIDATE_ALGOS) { in ima_policy_show()
2274 ima_policy_show_appraise_algos(m, entry->allowed_algos); in ima_policy_show()
2279 if (entry->lsm[i].rule) { in ima_policy_show()
2283 entry->lsm[i].args_p); in ima_policy_show()
2287 entry->lsm[i].args_p); in ima_policy_show()
2291 entry->lsm[i].args_p); in ima_policy_show()
2295 entry->lsm[i].args_p); in ima_policy_show()
2299 entry->lsm[i].args_p); in ima_policy_show()
2303 entry->lsm[i].args_p); in ima_policy_show()
2309 if (entry->template) in ima_policy_show()
2310 seq_printf(m, "template=%s ", entry->template->name); in ima_policy_show()
2311 if (entry->flags & IMA_DIGSIG_REQUIRED) { in ima_policy_show()
2312 if (entry->flags & IMA_VERITY_REQUIRED) in ima_policy_show()
2314 else if (entry->flags & IMA_MODSIG_ALLOWED) in ima_policy_show()
2319 if (entry->flags & IMA_VERITY_REQUIRED) in ima_policy_show()
2321 if (entry->flags & IMA_PERMIT_DIRECTIO) in ima_policy_show()
2338 struct ima_rule_entry *entry; in ima_appraise_signature() local
2354 list_for_each_entry_rcu(entry, ima_rules_tmp, list) { in ima_appraise_signature()
2355 if (entry->action != APPRAISE) in ima_appraise_signature()
2359 * A generic entry will match, but otherwise require that it in ima_appraise_signature()
2362 if (entry->func && entry->func != func) in ima_appraise_signature()
2369 if (entry->flags & IMA_DIGSIG_REQUIRED) in ima_appraise_signature()