|
@@ -806,13 +806,6 @@ static int cgroup_call_pre_destroy(struct cgroup *cgrp)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void free_cgroup_rcu(struct rcu_head *obj)
|
|
|
-{
|
|
|
- struct cgroup *cgrp = container_of(obj, struct cgroup, rcu_head);
|
|
|
-
|
|
|
- kfree(cgrp);
|
|
|
-}
|
|
|
-
|
|
|
static void cgroup_diput(struct dentry *dentry, struct inode *inode)
|
|
|
{
|
|
|
/* is dentry a directory ? if so, kfree() associated cgroup */
|
|
@@ -850,7 +843,7 @@ static void cgroup_diput(struct dentry *dentry, struct inode *inode)
|
|
|
*/
|
|
|
BUG_ON(!list_empty(&cgrp->pidlists));
|
|
|
|
|
|
- call_rcu(&cgrp->rcu_head, free_cgroup_rcu);
|
|
|
+ kfree_rcu(cgrp, rcu_head);
|
|
|
}
|
|
|
iput(inode);
|
|
|
}
|