Re: [PATCH 1/3] cgroup: fix umount vs cgroup_cfs_commit() race

From: Tejun Heo
Date: Tue Jun 18 2013 - 12:05:22 EST


On Tue, Jun 18, 2013 at 06:40:19PM +0800, Li Zefan wrote:
> cgroup_cfs_commit() uses dget() to keep cgroup alive after cgroup_mutex
> is dropped, but dget() won't prevent cgroupfs from being umounted. When
> the race happens, vfs will see some dentries with non-zero refcnt while
> umount is in process.
>
> Keep running this:
> mount -t cgroup -o blkio xxx /cgroup
> umount /cgroup
>
> And this:
> modprobe cfq-iosched
> rmmod cfs-iosched
>
> After a while, the BUG() in shrink_dcache_for_umount_subtree() may
> be triggered:
>
> BUG: Dentry xxx{i=0,n=blkio.yyy} still in use (1) [umount of cgroup cgroup]
>
> Signed-off-by: Li Zefan <lizefan@xxxxxxxxxx>

Applied 1-3 to cgroup/for-3.11 w/ stable cc'd on 1 and 2.

Thanks!

--
tejun
--
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/