Messages in this thread | | | From | Andreas Gruenbacher <> | Subject | Re: [PATCH 1/4] fanotify: flush outstanding perm requests on group destroy | Date | Tue, 24 Aug 2010 03:13:11 +0200 |
| |
On Monday 23 August 2010 02:37:07 Eric Paris wrote: > 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.
This seems to work now.
The one remaining issue is that processes blocked on perm events cannot be killed even with SIGKILL. I don't know how hard it will be to fix this.
Thanks, Andreas
| |