security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()
Lai Jiangshan [Tue, 15 Mar 2011 10:07:57 +0000 (18:07 +0800)]
The rcu callback whitelist_item_free() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(whitelist_item_free).

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: James Morris <jmorris@namei.org>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>

security/device_cgroup.c

index 1be6826..4450fbe 100644 (file)
@@ -125,14 +125,6 @@ static int dev_whitelist_add(struct dev_cgroup *dev_cgroup,
        return 0;
 }
 
-static void whitelist_item_free(struct rcu_head *rcu)
-{
-       struct dev_whitelist_item *item;
-
-       item = container_of(rcu, struct dev_whitelist_item, rcu);
-       kfree(item);
-}
-
 /*
  * called under devcgroup_mutex
  */
@@ -155,7 +147,7 @@ remove:
                walk->access &= ~wh->access;
                if (!walk->access) {
                        list_del_rcu(&walk->list);
-                       call_rcu(&walk->rcu, whitelist_item_free);
+                       kfree_rcu(walk, rcu);
                }
        }
 }