As indicated in the comment above cgroup_css_sets_empty the css_set_lock must be hold when calling it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- kernel/cgroup.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c index c908354..59e711a 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -3980,7 +3980,10 @@ static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry) /* the vfs holds both inode->i_mutex already */ again: mutex_lock(&cgroup_mutex); - if (!cgroup_css_sets_empty(cgrp)) { + read_lock(&css_set_lock); + ret = cgroup_css_sets_empty(cgrp); + read_unlock(&css_set_lock); + if (!ret) { mutex_unlock(&cgroup_mutex); return -EBUSY; } -- 1.8.0.2 -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html