net: sched: constify tcf_proto and tc_action
[pandora-kernel.git] / net / sched / act_police.c
index 8a16307..6fb3f5a 100644 (file)
@@ -96,11 +96,6 @@ nla_put_failure:
        goto done;
 }
 
-static void tcf_police_free_rcu(struct rcu_head *head)
-{
-       kfree(container_of(head, struct tcf_police, tcf_rcu));
-}
-
 static void tcf_police_destroy(struct tcf_police *p)
 {
        unsigned int h = tcf_hash(p->tcf_index, POL_TAB_MASK);
@@ -121,7 +116,7 @@ static void tcf_police_destroy(struct tcf_police *p)
                         * gen_estimator est_timer() might access p->tcf_lock
                         * or bstats, wait a RCU grace period before freeing p
                         */
-                       call_rcu(&p->tcf_rcu, tcf_police_free_rcu);
+                       kfree_rcu(p, tcf_rcu);
                        return;
                }
        }
@@ -287,7 +282,7 @@ static int tcf_act_police_cleanup(struct tc_action *a, int bind)
        return ret;
 }
 
-static int tcf_act_police(struct sk_buff *skb, struct tc_action *a,
+static int tcf_act_police(struct sk_buff *skb, const struct tc_action *a,
                          struct tcf_result *res)
 {
        struct tcf_police *police = a->priv;
@@ -401,7 +396,6 @@ static void __exit
 police_cleanup_module(void)
 {
        tcf_unregister_action(&act_police_ops);
-       rcu_barrier(); /* Wait for completion of call_rcu()'s (tcf_police_free_rcu) */
 }
 
 module_init(police_init_module);