Lines Matching refs:rule
317 struct smack_parsed_rule *rule, int import, in smk_fill_rule() argument
324 rule->smk_subject = smk_import_entry(subject, len); in smk_fill_rule()
325 if (IS_ERR(rule->smk_subject)) in smk_fill_rule()
326 return PTR_ERR(rule->smk_subject); in smk_fill_rule()
328 rule->smk_object = smk_import_entry(object, len); in smk_fill_rule()
329 if (IS_ERR(rule->smk_object)) in smk_fill_rule()
330 return PTR_ERR(rule->smk_object); in smk_fill_rule()
339 rule->smk_subject = skp; in smk_fill_rule()
348 rule->smk_object = skp; in smk_fill_rule()
351 rule->smk_access1 = smk_perm_from_str(access1); in smk_fill_rule()
353 rule->smk_access2 = smk_perm_from_str(access2); in smk_fill_rule()
355 rule->smk_access2 = ~rule->smk_access1; in smk_fill_rule()
368 static int smk_parse_rule(const char *data, struct smack_parsed_rule *rule, in smk_parse_rule() argument
374 data + SMK_LABELLEN + SMK_LABELLEN, NULL, rule, in smk_parse_rule()
388 static ssize_t smk_parse_long_rule(char *data, struct smack_parsed_rule *rule, in smk_parse_long_rule() argument
418 rc = smk_fill_rule(tok[0], tok[1], tok[2], tok[3], rule, import, 0); in smk_parse_long_rule()
449 struct smack_parsed_rule rule; in smk_write_rules_list() local
497 rc = smk_parse_rule(data, &rule, 1); in smk_write_rules_list()
502 rc = smk_parse_long_rule(data + cnt, &rule, 1, tokens); in smk_write_rules_list()
513 rc = smk_set_access(&rule, &rule.smk_subject->smk_rules, in smk_write_rules_list()
514 &rule.smk_subject->smk_rules_lock); in smk_write_rules_list()
516 rc = smk_set_access(&rule, rule_list, rule_lock); in smk_write_rules_list()
826 char *rule; in smk_set_cipso() local
849 rule = data; in smk_set_cipso()
856 skp = smk_import_entry(rule, 0); in smk_set_cipso()
863 rule += SMK_LABELLEN; in smk_set_cipso()
865 rule += strlen(skp->smk_known) + 1; in smk_set_cipso()
867 if (rule > data + count) { in smk_set_cipso()
872 ret = sscanf(rule, "%d", &maplevel); in smk_set_cipso()
876 rule += SMK_DIGITLEN; in smk_set_cipso()
877 if (rule > data + count) { in smk_set_cipso()
882 ret = sscanf(rule, "%d", &catlen); in smk_set_cipso()
893 rule += SMK_DIGITLEN; in smk_set_cipso()
894 if (rule > data + count) { in smk_set_cipso()
898 ret = sscanf(rule, "%u", &cat); in smk_set_cipso()
2281 struct smack_parsed_rule rule; in smk_user_access() local
2292 res = smk_parse_rule(data, &rule, 0); in smk_user_access()
2297 res = smk_parse_long_rule(data, &rule, 0, 3); in smk_user_access()
2301 res = smk_access(rule.smk_subject, rule.smk_object, in smk_user_access()
2302 rule.smk_access1, NULL); in smk_user_access()