diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2014-11-04 11:27:12 +0100 |
---|---|---|
committer | Paul Moore <pmoore@redhat.com> | 2014-11-11 14:20:22 -0500 |
commit | 799b601451b21ebe7af0e6e8f6e2ccd4683c5064 (patch) | |
tree | 407429e46a1b1c60fa55f20e3f1ec84658e48275 /kernel/audit_tree.c | |
parent | 897f1acbb6702ddaa953e8d8436eee3b12016c7e (diff) | |
download | linux-799b601451b21ebe7af0e6e8f6e2ccd4683c5064.tar.gz linux-799b601451b21ebe7af0e6e8f6e2ccd4683c5064.tar.bz2 linux-799b601451b21ebe7af0e6e8f6e2ccd4683c5064.zip |
audit: keep inode pinned
Audit rules disappear when an inode they watch is evicted from the cache.
This is likely not what we want.
The guilty commit is "fsnotify: allow marks to not pin inodes in core",
which didn't take into account that audit_tree adds watches with a zero
mask.
Adding any mask should fix this.
Fixes: 90b1e7a57880 ("fsnotify: allow marks to not pin inodes in core")
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org # 2.6.36+
Signed-off-by: Paul Moore <pmoore@redhat.com>
Diffstat (limited to 'kernel/audit_tree.c')
-rw-r--r-- | kernel/audit_tree.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index e242e3a9864a..80f29e015570 100644 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c @@ -154,6 +154,7 @@ static struct audit_chunk *alloc_chunk(int count) chunk->owners[i].index = i; } fsnotify_init_mark(&chunk->mark, audit_tree_destroy_watch); + chunk->mark.mask = FS_IN_IGNORED; return chunk; } |