|
@@ -250,7 +250,6 @@ static void untag_chunk(struct node *p)
|
|
|
spin_unlock(&hash_lock);
|
|
|
spin_unlock(&entry->lock);
|
|
|
fsnotify_destroy_mark(entry);
|
|
|
- fsnotify_put_mark(entry);
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
@@ -293,7 +292,6 @@ static void untag_chunk(struct node *p)
|
|
|
spin_unlock(&hash_lock);
|
|
|
spin_unlock(&entry->lock);
|
|
|
fsnotify_destroy_mark(entry);
|
|
|
- fsnotify_put_mark(entry);
|
|
|
goto out;
|
|
|
|
|
|
Fallback:
|
|
@@ -332,6 +330,7 @@ static int create_chunk(struct inode *inode, struct audit_tree *tree)
|
|
|
spin_unlock(&hash_lock);
|
|
|
chunk->dead = 1;
|
|
|
spin_unlock(&entry->lock);
|
|
|
+ fsnotify_get_mark(entry);
|
|
|
fsnotify_destroy_mark(entry);
|
|
|
fsnotify_put_mark(entry);
|
|
|
return 0;
|
|
@@ -412,6 +411,7 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree)
|
|
|
spin_unlock(&chunk_entry->lock);
|
|
|
spin_unlock(&old_entry->lock);
|
|
|
|
|
|
+ fsnotify_get_mark(chunk_entry);
|
|
|
fsnotify_destroy_mark(chunk_entry);
|
|
|
|
|
|
fsnotify_put_mark(chunk_entry);
|
|
@@ -445,7 +445,6 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree)
|
|
|
spin_unlock(&old_entry->lock);
|
|
|
fsnotify_destroy_mark(old_entry);
|
|
|
fsnotify_put_mark(old_entry); /* pair to fsnotify_find mark_entry */
|
|
|
- fsnotify_put_mark(old_entry); /* and kill it */
|
|
|
return 0;
|
|
|
}
|
|
|
|