Lines Matching refs:rule
54 SMK_PTRACE = 21, /* set ptrace rule */
112 * Ptrace current rule
145 * SMK_DIGITLEN: Length of a digit field in a rule.
146 * SMK_CIPSOMIN: Minimum possible cipso rule length.
147 * SMK_CIPSOMAX: Maximum possible cipso rule length.
156 * SMK_ACCESSLEN: Maximum length for a rule access field
157 * SMK_LOADLEN: Smack rule length
198 * smk_set_access - add a rule to the rule list or replace an old rule
199 * @srp: the rule to add or replace
201 * @rule_lock: the rule list lock
303 * smk_fill_rule - Fill Smack rule from strings
308 * @rule: Smack rule
316 struct smack_parsed_rule *rule, int import,
323 rule->smk_subject = smk_import_entry(subject, len);
324 if (IS_ERR(rule->smk_subject))
325 return PTR_ERR(rule->smk_subject);
327 rule->smk_object = smk_import_entry(object, len);
328 if (IS_ERR(rule->smk_object))
329 return PTR_ERR(rule->smk_object);
338 rule->smk_subject = skp;
347 rule->smk_object = skp;
350 rule->smk_access1 = smk_perm_from_str(access1);
352 rule->smk_access2 = smk_perm_from_str(access2);
354 rule->smk_access2 = ~rule->smk_access1;
360 * smk_parse_rule - parse Smack rule from load string
362 * @rule: Smack rule
367 static int smk_parse_rule(const char *data, struct smack_parsed_rule *rule,
373 data + SMK_LABELLEN + SMK_LABELLEN, NULL, rule,
379 * smk_parse_long_rule - parse Smack rule from rule string
381 * @rule: Will be filled with Smack parsed rule
387 static ssize_t smk_parse_long_rule(char *data, struct smack_parsed_rule *rule,
396 * Parsing the rule in-place, filling all white-spaces with '\0'
417 rc = smk_fill_rule(tok[0], tok[1], tok[2], tok[3], rule, import, 0);
425 * smk_write_rules_list - write() for any /smack rule file
431 * @rule_lock: lock for the rule list
432 * @format: /smack/load or /smack/load2 or /smack/change-rule format.
434 * Get one smack access rule from above.
448 struct smack_parsed_rule rule;
481 * avoid having partial rule at the data buffer
496 rc = smk_parse_rule(data, &rule, 1);
501 rc = smk_parse_long_rule(data + cnt, &rule, 1, tokens);
512 rc = smk_set_access(&rule, &rule.smk_subject->smk_rules,
513 &rule.smk_subject->smk_rules_lock);
515 rc = smk_set_access(&rule, rule_list, rule_lock);
826 * Accepts only one cipso rule per write call.
841 char *rule;
864 rule = data;
871 skp = smk_import_entry(rule, 0);
878 rule += SMK_LABELLEN;
880 rule += strlen(skp->smk_known) + 1;
882 if (rule > data + count) {
887 ret = sscanf(rule, "%d", &maplevel);
891 rule += SMK_DIGITLEN;
892 if (rule > data + count) {
897 ret = sscanf(rule, "%d", &catlen);
908 rule += SMK_DIGITLEN;
909 if (rule > data + count) {
913 ret = sscanf(rule, "%u", &cat);
947 * Accepts only one cipso rule per write call.
1021 * Accepts only one cipso rule per write call.
2292 struct smack_parsed_rule rule;
2303 res = smk_parse_rule(data, &rule, 0);
2308 res = smk_parse_long_rule(data, &rule, 0, 3);
2312 res = smk_access(rule.smk_subject, rule.smk_object,
2313 rule.smk_access1, NULL);
2585 * smk_write_change_rule - write() for /smack/change-rule
2912 "change-rule", &smk_change_rule_ops, S_IRUGO|S_IWUSR},