Lines Matching refs:rule

60 		void *rule;	/* LSM file metadata specific */  member
190 if (!entry->lsm[i].rule) in ima_lsm_update_rules()
195 &entry->lsm[i].rule); in ima_lsm_update_rules()
196 BUG_ON(!entry->lsm[i].rule); in ima_lsm_update_rules()
211 static bool ima_match_rules(struct ima_rule_entry *rule, in ima_match_rules() argument
218 if ((rule->flags & IMA_FUNC) && in ima_match_rules()
219 (rule->func != func && func != POST_SETATTR)) in ima_match_rules()
221 if ((rule->flags & IMA_MASK) && in ima_match_rules()
222 (rule->mask != mask && func != POST_SETATTR)) in ima_match_rules()
224 if ((rule->flags & IMA_INMASK) && in ima_match_rules()
225 (!(rule->mask & mask) && func != POST_SETATTR)) in ima_match_rules()
227 if ((rule->flags & IMA_FSMAGIC) in ima_match_rules()
228 && rule->fsmagic != inode->i_sb->s_magic) in ima_match_rules()
230 if ((rule->flags & IMA_FSUUID) && in ima_match_rules()
231 memcmp(rule->fsuuid, inode->i_sb->s_uuid, sizeof(rule->fsuuid))) in ima_match_rules()
233 if ((rule->flags & IMA_UID) && !uid_eq(rule->uid, cred->uid)) in ima_match_rules()
235 if (rule->flags & IMA_EUID) { in ima_match_rules()
237 if (!uid_eq(rule->uid, cred->euid) in ima_match_rules()
238 && !uid_eq(rule->uid, cred->suid) in ima_match_rules()
239 && !uid_eq(rule->uid, cred->uid)) in ima_match_rules()
241 } else if (!uid_eq(rule->uid, cred->euid)) in ima_match_rules()
245 if ((rule->flags & IMA_FOWNER) && !uid_eq(rule->fowner, inode->i_uid)) in ima_match_rules()
252 if (!rule->lsm[i].rule) in ima_match_rules()
261 rule->lsm[i].type, in ima_match_rules()
263 rule->lsm[i].rule, in ima_match_rules()
271 rule->lsm[i].type, in ima_match_rules()
273 rule->lsm[i].rule, in ima_match_rules()
293 static int get_subaction(struct ima_rule_entry *rule, int func) in get_subaction() argument
295 if (!(rule->flags & IMA_FUNC)) in get_subaction()
472 if (entry->lsm[lsm_rule].rule) in ima_lsm_rule_init()
483 &entry->lsm[lsm_rule].rule); in ima_lsm_rule_init()
484 if (!entry->lsm[lsm_rule].rule) { in ima_lsm_rule_init()
499 static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) in ima_parse_rule() argument
511 while ((p = strsep(&rule, " \t")) != NULL) { in ima_parse_rule()
752 ssize_t ima_parse_add_rule(char *rule) in ima_parse_add_rule() argument
760 p = strsep(&rule, "\n"); in ima_parse_add_rule()