Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Eric Dumazet and committed by
David S. Miller
808db80a 08157984

+3 -3
+2 -2
net/ipv6/ip6_output.c
··· 210 210 kfree_skb(skb); 211 211 return -ENOBUFS; 212 212 } 213 - kfree_skb(skb); 213 + consume_skb(skb); 214 214 skb = skb2; 215 215 skb_set_owner_w(skb, sk); 216 216 } ··· 889 889 } 890 890 IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), 891 891 IPSTATS_MIB_FRAGOKS); 892 - kfree_skb(skb); 892 + consume_skb(skb); 893 893 return err; 894 894 895 895 fail:
+1 -1
net/ipv6/reassembly.c
··· 433 433 skb_morph(head, fq->q.fragments); 434 434 head->next = fq->q.fragments->next; 435 435 436 - kfree_skb(fq->q.fragments); 436 + consume_skb(fq->q.fragments); 437 437 fq->q.fragments = head; 438 438 } 439 439