diff options
author | Eric Dumazet <edumazet@google.com> | 2012-04-18 22:24:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-19 14:23:55 -0400 |
commit | ab185d7b2551e9b8d946a657ddccd86d192bebd1 (patch) | |
tree | 660b4772773143b35fda8915ad0dcf783f021aaf /net/ipv6/tcp_ipv6.c | |
parent | 8460c00f6e2fb8e05421a277fee62fe09803f7a7 (diff) |
ipv6: tcp: dont drop packet but consume it
When we need to clone skb, we dont drop a packet.
Call consume_skb() to not confuse dropwatch.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 86cfe6005f40..050c55186bc4 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -1353,7 +1353,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1353 | newnp->pktoptions = NULL; | 1353 | newnp->pktoptions = NULL; |
1354 | if (treq->pktopts != NULL) { | 1354 | if (treq->pktopts != NULL) { |
1355 | newnp->pktoptions = skb_clone(treq->pktopts, GFP_ATOMIC); | 1355 | newnp->pktoptions = skb_clone(treq->pktopts, GFP_ATOMIC); |
1356 | kfree_skb(treq->pktopts); | 1356 | consume_skb(treq->pktopts); |
1357 | treq->pktopts = NULL; | 1357 | treq->pktopts = NULL; |
1358 | if (newnp->pktoptions) | 1358 | if (newnp->pktoptions) |
1359 | skb_set_owner_r(newnp->pktoptions, newsk); | 1359 | skb_set_owner_r(newnp->pktoptions, newsk); |