android_kernel_samsung_msm8976/fs/notify
Eric Paris 2eebf582c9 fanotify: flush outstanding perm requests on group destroy
When an fanotify listener is closing it may cause a deadlock between the
listener and the original task doing an fs operation.  If the original task
is waiting for a permissions response it will be holding the srcu lock.  The
listener cannot clean up and exit until after that srcu lock is syncronized.
Thus deadlock.  The fix introduced here is to stop accepting new permissions
events when a listener is shutting down and to grant permission for all
outstanding events.  Thus the original task will eventually release the srcu
lock and the listener can complete shutdown.

Reported-by: Andreas Gruenbacher <agruen@suse.de>
Cc: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Eric Paris <eparis@redhat.com>
2010-08-22 20:28:16 -04:00
..
dnotify fanotify: use both marks when possible 2010-07-28 10:18:55 -04:00
fanotify fanotify: flush outstanding perm requests on group destroy 2010-08-22 20:28:16 -04:00
inotify Revert "fsnotify: store struct file not struct path" 2010-08-12 14:23:04 -07:00
fsnotify.c fsnotify: fix ignored mask handling between inode and vfsmount marks 2010-08-22 20:09:41 -04:00
fsnotify.h fsnotify: remove global fsnotify groups lists 2010-07-28 10:18:54 -04:00
group.c fsnotify: remove global fsnotify groups lists 2010-07-28 10:18:54 -04:00
inode_mark.c Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify 2010-08-10 11:39:13 -07:00
Kconfig fanotify: fscking all notification system 2010-07-28 09:58:54 -04:00
Makefile fsnotify: vfsmount marks generic functions 2010-07-28 09:58:57 -04:00
mark.c fsnotify: remove global fsnotify groups lists 2010-07-28 10:18:54 -04:00
notification.c Revert "fsnotify: store struct file not struct path" 2010-08-12 14:23:04 -07:00
vfsmount_mark.c fsnotify: use an explicit flag to indicate fsnotify_destroy_mark has been called 2010-07-28 10:18:52 -04:00