summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_fragment.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2012-04-19 06:10:26 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-19 14:25:51 -0400
commitcbf8f7bb200f5dbdc9ce11243431440720db03dc (patch)
treeb201bbf2310041bef68118552a7d05edcdb45e9a /net/ipv4/ip_fragment.c
parentdaa86548281ec9364eac2925bdf907f861204a5b (diff)
downloadlinux-cbf8f7bb200f5dbdc9ce11243431440720db03dc.tar.gz
linux-cbf8f7bb200f5dbdc9ce11243431440720db03dc.tar.bz2
linux-cbf8f7bb200f5dbdc9ce11243431440720db03dc.zip
ipv4: dont drop packet in defrag but consume it
When defragmentation is finalized, we clone a packet and kfree_skb() it. Call consume_skb() to not confuse dropwatch, since its not a drop. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_fragment.c')
-rw-r--r--net/ipv4/ip_fragment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index 3727e234c884..631f596d5d70 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -569,7 +569,7 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff *prev,
skb_morph(head, qp->q.fragments);
head->next = qp->q.fragments->next;
- kfree_skb(qp->q.fragments);
+ consume_skb(qp->q.fragments);
qp->q.fragments = head;
}