Re: [PATCH 1/4] fanotify: flush outstanding perm requests on group destroy

From: Andreas Gruenbacher
Date: Mon Aug 23 2010 - 21:13:55 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/