Merge tag 'master-2014-12-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
[cascardo/linux.git] / net / sched / cls_flow.c
index 4ac515f..8e22718 100644 (file)
@@ -426,10 +426,7 @@ static int flow_change(struct net *net, struct sk_buff *in_skb,
                        goto err2;
 
                /* Copy fold into fnew */
-               fnew->handle = fold->handle;
-               fnew->keymask = fold->keymask;
                fnew->tp = fold->tp;
-
                fnew->handle = fold->handle;
                fnew->nkeys = fold->nkeys;
                fnew->keymask = fold->keymask;
@@ -578,16 +575,12 @@ static unsigned long flow_get(struct tcf_proto *tp, u32 handle)
        struct flow_head *head = rtnl_dereference(tp->root);
        struct flow_filter *f;
 
-       list_for_each_entry_rcu(f, &head->filters, list)
+       list_for_each_entry(f, &head->filters, list)
                if (f->handle == handle)
                        return (unsigned long)f;
        return 0;
 }
 
-static void flow_put(struct tcf_proto *tp, unsigned long f)
-{
-}
-
 static int flow_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
                     struct sk_buff *skb, struct tcmsg *t)
 {
@@ -654,7 +647,7 @@ static void flow_walk(struct tcf_proto *tp, struct tcf_walker *arg)
        struct flow_head *head = rtnl_dereference(tp->root);
        struct flow_filter *f;
 
-       list_for_each_entry_rcu(f, &head->filters, list) {
+       list_for_each_entry(f, &head->filters, list) {
                if (arg->count < arg->skip)
                        goto skip;
                if (arg->fn(tp, (unsigned long)f, arg) < 0) {
@@ -674,7 +667,6 @@ static struct tcf_proto_ops cls_flow_ops __read_mostly = {
        .change         = flow_change,
        .delete         = flow_delete,
        .get            = flow_get,
-       .put            = flow_put,
        .dump           = flow_dump,
        .walk           = flow_walk,
        .owner          = THIS_MODULE,