Messages in this thread | | | Date | Tue, 24 Jun 2014 17:01:19 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 5/5] cgroup: fix a race between cgroup_mount() and cgroup_kill_sb() |
| |
Hello, Li.
On Tue, Jun 24, 2014 at 09:22:00AM +0800, Li Zefan wrote: > > Ah, right. Gees, I'm really hating the fact that we have ->mount but > > not ->umount. However, can't we make it a bit simpler by just > > introducing a mutex protecting looking up and refing up an existing > > root and a sb going away? The only problem is that the refcnt being > > killed isn't atomic w.r.t. new live ref coming up, right? Why not > > just add a mutex around them so that they can't race? > > Well, kill_sb() is called with sb->s_umount held, while kernfs_mount() > returned with sb->s_umount held, so adding a mutex will lead to ABBA > deadlock.
Hmmm? Why does that matter? The only region in cgroup_mount() which needs to be put inside such mutex would be root lookup, no?
Thanks.
-- tejun
| |