Lines Matching defs:rule

55 	SMK_PTRACE	= 21,	/* set ptrace rule */
113 * Ptrace current rule
146 * SMK_DIGITLEN: Length of a digit field in a rule.
147 * SMK_CIPSOMIN: Minimum possible cipso rule length.
148 * SMK_CIPSOMAX: Maximum possible cipso rule length.
157 * SMK_ACCESSLEN: Maximum length for a rule access field
158 * SMK_LOADLEN: Smack rule length
199 * smk_set_access - add a rule to the rule list or replace an old rule
200 * @srp: the rule to add or replace
202 * @rule_lock: the rule list lock
304 * smk_fill_rule - Fill Smack rule from strings
309 * @rule: Smack rule
317 struct smack_parsed_rule *rule, int import,
324 rule->smk_subject = smk_import_entry(subject, len);
325 if (IS_ERR(rule->smk_subject))
326 return PTR_ERR(rule->smk_subject);
328 rule->smk_object = smk_import_entry(object, len);
329 if (IS_ERR(rule->smk_object))
330 return PTR_ERR(rule->smk_object);
339 rule->smk_subject = skp;
348 rule->smk_object = skp;
351 rule->smk_access1 = smk_perm_from_str(access1);
353 rule->smk_access2 = smk_perm_from_str(access2);
355 rule->smk_access2 = ~rule->smk_access1;
361 * smk_parse_rule - parse Smack rule from load string
363 * @rule: Smack rule
368 static int smk_parse_rule(const char *data, struct smack_parsed_rule *rule,
374 data + SMK_LABELLEN + SMK_LABELLEN, NULL, rule,
380 * smk_parse_long_rule - parse Smack rule from rule string
382 * @rule: Will be filled with Smack parsed rule
388 static ssize_t smk_parse_long_rule(char *data, struct smack_parsed_rule *rule,
397 * Parsing the rule in-place, filling all white-spaces with '\0'
418 rc = smk_fill_rule(tok[0], tok[1], tok[2], tok[3], rule, import, 0);
426 * smk_write_rules_list - write() for any /smack rule file
432 * @rule_lock: lock for the rule list
433 * @format: /smack/load or /smack/load2 or /smack/change-rule format.
435 * Get one smack access rule from above.
449 struct smack_parsed_rule rule;
482 * avoid having partial rule at the data buffer
497 rc = smk_parse_rule(data, &rule, 1);
502 rc = smk_parse_long_rule(data + cnt, &rule, 1, tokens);
513 rc = smk_set_access(&rule, &rule.smk_subject->smk_rules,
514 &rule.smk_subject->smk_rules_lock);
516 rc = smk_set_access(&rule, rule_list, rule_lock);
827 * Accepts only one cipso rule per write call.
842 char *rule;
865 rule = data;
872 skp = smk_import_entry(rule, 0);
879 rule += SMK_LABELLEN;
881 rule += strlen(skp->smk_known) + 1;
883 if (rule > data + count) {
888 ret = sscanf(rule, "%d", &maplevel);
892 rule += SMK_DIGITLEN;
893 if (rule > data + count) {
898 ret = sscanf(rule, "%d", &catlen);
909 rule += SMK_DIGITLEN;
910 if (rule > data + count) {
914 ret = sscanf(rule, "%u", &cat);
959 * Accepts only one cipso rule per write call.
1033 * Accepts only one cipso rule per write call.
2299 * @format: /smack/load or /smack/load2 or /smack/change-rule format.
2304 struct smack_parsed_rule rule;
2315 res = smk_parse_rule(data, &rule, 0);
2320 res = smk_parse_long_rule(data, &rule, 0, 3);
2324 res = smk_access(rule.smk_subject, rule.smk_object,
2325 rule.smk_access1, NULL);
2597 * smk_write_change_rule - write() for /smack/change-rule
2924 "change-rule", &smk_change_rule_ops, S_IRUGO|S_IWUSR},