diff options
Diffstat (limited to 'kernel/auditfilter.c')
| -rw-r--r-- | kernel/auditfilter.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c index 6bd4a90d1991..f7aee8be7fb2 100644 --- a/kernel/auditfilter.c +++ b/kernel/auditfilter.c | |||
| @@ -423,7 +423,7 @@ static struct audit_entry *audit_data_to_entry(struct audit_rule_data *data, | |||
| 423 | f->lsm_rule = NULL; | 423 | f->lsm_rule = NULL; |
| 424 | 424 | ||
| 425 | /* Support legacy tests for a valid loginuid */ | 425 | /* Support legacy tests for a valid loginuid */ |
| 426 | if ((f->type == AUDIT_LOGINUID) && (f->val == 4294967295)) { | 426 | if ((f->type == AUDIT_LOGINUID) && (f->val == ~0U)) { |
| 427 | f->type = AUDIT_LOGINUID_SET; | 427 | f->type = AUDIT_LOGINUID_SET; |
| 428 | f->val = 0; | 428 | f->val = 0; |
| 429 | } | 429 | } |
| @@ -865,6 +865,12 @@ static inline int audit_add_rule(struct audit_entry *entry) | |||
| 865 | err = audit_add_watch(&entry->rule, &list); | 865 | err = audit_add_watch(&entry->rule, &list); |
| 866 | if (err) { | 866 | if (err) { |
| 867 | mutex_unlock(&audit_filter_mutex); | 867 | mutex_unlock(&audit_filter_mutex); |
| 868 | /* | ||
| 869 | * normally audit_add_tree_rule() will free it | ||
| 870 | * on failure | ||
| 871 | */ | ||
| 872 | if (tree) | ||
| 873 | audit_put_tree(tree); | ||
| 868 | goto error; | 874 | goto error; |
| 869 | } | 875 | } |
| 870 | } | 876 | } |
