diff options
author | Eric Dumazet <edumazet@google.com> | 2012-04-24 10:17:59 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-26 00:39:46 (GMT) |
commit | 808db80a7eeff8314ac51654bfefc864582eea13 (patch) | |
tree | 9c42d1486a5e6052d0c285a5a6a6d38fdbe0b890 /net | |
parent | 081579840b4b2421e37bc67e3b089b7ca64ef040 (diff) | |
download | linux-808db80a7eeff8314ac51654bfefc864582eea13.tar.xz |
ipv6: call consume_skb() in frag/reassembly
Some kfree_skb() calls should be replaced by consume_skb() to avoid
drop_monitor/dropwatch false positives.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/ip6_output.c | 4 | ||||
-rw-r--r-- | net/ipv6/reassembly.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index b7ca461..b347062 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -210,7 +210,7 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, kfree_skb(skb); return -ENOBUFS; } - kfree_skb(skb); + consume_skb(skb); skb = skb2; skb_set_owner_w(skb, sk); } @@ -889,7 +889,7 @@ slow_path: } IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_FRAGOKS); - kfree_skb(skb); + consume_skb(skb); return err; fail: diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 36e04cf..54c5d2b 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -433,7 +433,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *prev, skb_morph(head, fq->q.fragments); head->next = fq->q.fragments->next; - kfree_skb(fq->q.fragments); + consume_skb(fq->q.fragments); fq->q.fragments = head; } |