Messages in this thread | | | Date | Tue, 21 Feb 2017 15:50:51 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH] kernfs: fix locking around kernfs_ops->release() callback |
| |
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 <tj@kernel.org> > Reported-by: Tony Lindgren <tony@atomide.com> > Fixes: 0e67db2f9fe9 ("kernfs: add kernfs_ops->open/release() callbacks")
Applied to cgroup/for-4.11.
Thanks.
-- tejun
| |