|
@@ -4610,14 +4610,6 @@ bool css_is_ancestor(struct cgroup_subsys_state *child,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void __free_css_id_cb(struct rcu_head *head)
|
|
|
-{
|
|
|
- struct css_id *id;
|
|
|
-
|
|
|
- id = container_of(head, struct css_id, rcu_head);
|
|
|
- kfree(id);
|
|
|
-}
|
|
|
-
|
|
|
void free_css_id(struct cgroup_subsys *ss, struct cgroup_subsys_state *css)
|
|
|
{
|
|
|
struct css_id *id = css->id;
|
|
@@ -4632,7 +4624,7 @@ void free_css_id(struct cgroup_subsys *ss, struct cgroup_subsys_state *css)
|
|
|
spin_lock(&ss->id_lock);
|
|
|
idr_remove(&ss->idr, id->id);
|
|
|
spin_unlock(&ss->id_lock);
|
|
|
- call_rcu(&id->rcu_head, __free_css_id_cb);
|
|
|
+ kfree_rcu(id, rcu_head);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(free_css_id);
|
|
|
|