net/flower: Fix pointer cast
authorAmir Vadai <amir@vadai.me>
Fri, 11 Mar 2016 09:08:45 +0000 (11:08 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Mar 2016 17:04:37 +0000 (12:04 -0500)
Cast pointer to unsigned long instead of u64, to fix compilation warning
on 32 bit arch, spotted by 0day build.

Fixes: 5b33f48 ("net/flower: Introduce hardware offload support")
Signed-off-by: Amir Vadai <amir@vadai.me>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_cls.h
net/sched/cls_flower.c

index 5b4e8f08b8f028c2476303d844d9deb148c72da1..caa5e18636dfd830e59295ab74d80ffd95bf3f22 100644 (file)
@@ -416,7 +416,7 @@ enum tc_fl_command {
 
 struct tc_cls_flower_offload {
        enum tc_fl_command command;
-       u64 cookie;
+       unsigned long cookie;
        struct flow_dissector *dissector;
        struct fl_flow_key *mask;
        struct fl_flow_key *key;
index 25d87666bf1ec38d58f6df192ca95cafa77a61da..2181ffc76638035a93c077e7395d93892e82570e 100644 (file)
@@ -165,7 +165,7 @@ static void fl_destroy_filter(struct rcu_head *head)
        kfree(f);
 }
 
-static void fl_hw_destroy_filter(struct tcf_proto *tp, u64 cookie)
+static void fl_hw_destroy_filter(struct tcf_proto *tp, unsigned long cookie)
 {
        struct net_device *dev = tp->q->dev_queue->dev;
        struct tc_cls_flower_offload offload = {0};
@@ -188,7 +188,7 @@ static void fl_hw_replace_filter(struct tcf_proto *tp,
                                 struct fl_flow_key *mask,
                                 struct fl_flow_key *key,
                                 struct tcf_exts *actions,
-                                u64 cookie, u32 flags)
+                                unsigned long cookie, u32 flags)
 {
        struct net_device *dev = tp->q->dev_queue->dev;
        struct tc_cls_flower_offload offload = {0};
@@ -219,7 +219,7 @@ static bool fl_destroy(struct tcf_proto *tp, bool force)
                return false;
 
        list_for_each_entry_safe(f, next, &head->filters, list) {
-               fl_hw_destroy_filter(tp, (u64)f);
+               fl_hw_destroy_filter(tp, (unsigned long)f);
                list_del_rcu(&f->list);
                call_rcu(&f->rcu, fl_destroy_filter);
        }
@@ -554,13 +554,13 @@ static int fl_change(struct net *net, struct sk_buff *in_skb,
                             &mask.key,
                             &fnew->key,
                             &fnew->exts,
-                            (u64)fnew,
+                            (unsigned long)fnew,
                             flags);
 
        if (fold) {
                rhashtable_remove_fast(&head->ht, &fold->ht_node,
                                       head->ht_params);
-               fl_hw_destroy_filter(tp, (u64)fold);
+               fl_hw_destroy_filter(tp, (unsigned long)fold);
        }
 
        *arg = (unsigned long) fnew;
@@ -588,7 +588,7 @@ static int fl_delete(struct tcf_proto *tp, unsigned long arg)
        rhashtable_remove_fast(&head->ht, &f->ht_node,
                               head->ht_params);
        list_del_rcu(&f->list);
-       fl_hw_destroy_filter(tp, (u64)f);
+       fl_hw_destroy_filter(tp, (unsigned long)f);
        tcf_unbind_filter(tp, &f->res);
        call_rcu(&f->rcu, fl_destroy_filter);
        return 0;