diff options
author | Jan Kara <jack@suse.cz> | 2017-04-03 16:47:58 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2017-04-10 17:36:32 +0200 |
commit | 43471d15df0e7c40ca4df1513fc1dcf5765396ac (patch) | |
tree | e9bfceaddfdee63e428f49ea2bf2844f9a67b265 /kernel/audit_tree.c | |
parent | f410ff65548c548fed5f7e38c4ef57a73ebfe3bd (diff) | |
download | op-kernel-dev-43471d15df0e7c40ca4df1513fc1dcf5765396ac.zip op-kernel-dev-43471d15df0e7c40ca4df1513fc1dcf5765396ac.tar.gz |
audit_tree: Use mark flags to check whether mark is alive
Currently audit code uses checking of mark->inode to verify whether mark
is still alive. Switch that to checking mark flags as that is more
logical and current way will become unreliable in future.
Reviewed-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'kernel/audit_tree.c')
-rw-r--r-- | kernel/audit_tree.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index 11c7ac4..5145124 100644 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c @@ -190,7 +190,7 @@ static void insert_hash(struct audit_chunk *chunk) unsigned long key = chunk_to_key(chunk); struct list_head *list; - if (!key) + if (!(chunk->mark.flags & FSNOTIFY_MARK_FLAG_ATTACHED)) return; list = chunk_hash(key); list_add_rcu(&chunk->hash, list); @@ -248,7 +248,7 @@ static void untag_chunk(struct node *p) mutex_lock(&entry->group->mark_mutex); spin_lock(&entry->lock); - if (chunk->dead || !entry->inode) { + if (chunk->dead || !(entry->flags & FSNOTIFY_MARK_FLAG_ATTACHED)) { spin_unlock(&entry->lock); mutex_unlock(&entry->group->mark_mutex); if (new) @@ -408,7 +408,7 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree) mutex_lock(&old_entry->group->mark_mutex); spin_lock(&old_entry->lock); - if (!old_entry->inode) { + if (!(old_entry->flags & FSNOTIFY_MARK_FLAG_ATTACHED)) { /* old_entry is being shot, lets just lie */ spin_unlock(&old_entry->lock); mutex_unlock(&old_entry->group->mark_mutex); |