ipv6: correct return on ipv6_rcv() packet drop
authorMark Smith <lk-netdev@lk-netdev.nosense.org>
Mon, 6 Jul 2009 11:26:24 +0000 (11:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Jul 2009 01:07:55 +0000 (18:07 -0700)
The routine ipv6_rcv() uses magic number 0 for a return when it drops a
packet. This corresponds to NET_RX_SUCCESS, which is obviously
incorrect. Correct this by using NET_RX_DROP instead.

ps. It isn't exactly clear who the IPv6 maintainers are, apologies if
I've missed any.

Signed-off-by: Mark Smith <markzzzsmith@yahoo.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_input.c

index 6d6a4277c67728f0e25a27f854904686f2eb1156..2d9cbaa67edb7232f6c992e66b8ece1d6d6bafd7 100644 (file)
@@ -63,7 +63,7 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
 
        if (skb->pkt_type == PACKET_OTHERHOST) {
                kfree_skb(skb);
-               return 0;
+               return NET_RX_DROP;
        }
 
        rcu_read_lock();
@@ -133,7 +133,7 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
                if (ipv6_parse_hopopts(skb) < 0) {
                        IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS);
                        rcu_read_unlock();
-                       return 0;
+                       return NET_RX_DROP;
                }
        }
 
@@ -149,7 +149,7 @@ err:
 drop:
        rcu_read_unlock();
        kfree_skb(skb);
-       return 0;
+       return NET_RX_DROP;
 }
 
 /*