OSDN Git Service

audit: Replace chunk attached to mark instead of replacing mark
authorJan Kara <jack@suse.cz>
Mon, 12 Nov 2018 14:55:16 +0000 (09:55 -0500)
committerPaul Moore <paul@paul-moore.com>
Mon, 12 Nov 2018 14:55:16 +0000 (09:55 -0500)
commit83d23bc8aedc51fc40078026e9fae6e349d83b2a
tree0be4159cb4611eb3ddaaa6c690d2609407412acf
parent8432c70062978d9a57bde6715496d585ec520c3e
audit: Replace chunk attached to mark instead of replacing mark

Audit tree code currently associates new fsnotify mark with each new
chunk. As chunk attached to an inode is replaced when new tag is added /
removed, we also need to remove old fsnotify mark and add a new one on
such occasion.  This is cumbersome and makes locking rules somewhat
difficult to follow.

Fix these problems by allocating fsnotify mark independently of chunk
and keeping it all the time while there is some chunk attached to an
inode. Also add documentation about the locking rules so that things are
easier to follow.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
[PM: minor merge fuzz due to updated patches previously in the series]
Signed-off-by: Paul Moore <paul@paul-moore.com>
kernel/audit_tree.c