]> asedeno.scripts.mit.edu Git - linux.git/commit
fsnotify: Avoid double locking in fsnotify_detach_from_object()
authorJan Kara <jack@suse.cz>
Thu, 30 Mar 2017 07:14:47 +0000 (09:14 +0200)
committerJan Kara <jack@suse.cz>
Mon, 10 Apr 2017 15:37:35 +0000 (17:37 +0200)
commit73cd3c33ab793325ebaae27fa58b4f713c16f12c
tree2ad8d08412d2627d7ff970d81ecc3c9f0ecfe241
parent8212a6097a720896b4cdbe516487ad47f4296599
fsnotify: Avoid double locking in fsnotify_detach_from_object()

We lock object list lock in fsnotify_detach_from_object() twice - once
to detach mark and second time to recalculate mask. That is unnecessary
and later it will become problematic as we will free the connector as
soon as there is no mark in it. So move recalculation of fsnotify mask
into the same critical section that is detaching mark.

This also removes recalculation of child dentry flags from
fsnotify_detach_from_object(). That is however fine. Those marks will
get recalculated once some event happens on a child.

Reviewed-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/notify/mark.c