Browse Source

ipv6: correct return on ipv6_rcv() packet drop

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>
Mark Smith 16 years ago
parent
commit
5c91face51
1 changed files with 3 additions and 3 deletions
  1. 3 3
      net/ipv6/ip6_input.c

+ 3 - 3
net/ipv6/ip6_input.c

@@ -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) {
 	if (skb->pkt_type == PACKET_OTHERHOST) {
 		kfree_skb(skb);
 		kfree_skb(skb);
-		return 0;
+		return NET_RX_DROP;
 	}
 	}
 
 
 	rcu_read_lock();
 	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) {
 		if (ipv6_parse_hopopts(skb) < 0) {
 			IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS);
 			IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS);
 			rcu_read_unlock();
 			rcu_read_unlock();
-			return 0;
+			return NET_RX_DROP;
 		}
 		}
 	}
 	}
 
 
@@ -149,7 +149,7 @@ err:
 drop:
 drop:
 	rcu_read_unlock();
 	rcu_read_unlock();
 	kfree_skb(skb);
 	kfree_skb(skb);
-	return 0;
+	return NET_RX_DROP;
 }
 }
 
 
 /*
 /*