On Sun, Feb 12, 2017 at 05:33:02AM +0900, Tejun Heo wrote:
> The release callback may be called from two places - file release
> operation and kernfs open file draining.  kernfs_open_file->mutex is
> used to synchronize the two callsites.  This unfortunately leads to
> possible circular locking because of->mutex is used to protect the
> usual kernfs operations which may use locking constructs which are
> held while removing and thus draining kernfs files.
> 
> @of->mutex is for synchronizing concurrent kernfs access operations
> and all we need here is synchronization between the releaes and drain
> paths.  As the drain path has to grab kernfs_open_file_mutex anyway,
> let's use the mutex to synchronize the release operation instead.
> 
> Signed-off-by: Tejun Heo <[email protected]>
> Reported-by: Tony Lindgren <[email protected]>
> Fixes: 0e67db2f9fe9 ("kernfs: add kernfs_ops->open/release() callbacks")

Applied to cgroup/for-4.11.

Thanks.

-- 
tejun

Reply via email to