• E
    fanotify: flush outstanding perm requests on group destroy · 2eebf582
    Eric Paris 提交于
    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: NAndreas Gruenbacher <agruen@suse.de>
    Cc: Andreas Gruenbacher <agruen@suse.de>
    Signed-off-by: NEric Paris <eparis@redhat.com>
    2eebf582
fsnotify_backend.h 18.0 KB