|
@@ -551,7 +551,9 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
|
|
|
buff = sk_stream_alloc_skb(sk, nsize, GFP_ATOMIC);
|
|
|
if (buff == NULL)
|
|
|
return -ENOMEM; /* We'll just try again later. */
|
|
|
- sk_charge_skb(sk, buff);
|
|
|
+
|
|
|
+ buff->truesize = skb->len - len;
|
|
|
+ skb->truesize -= buff->truesize;
|
|
|
|
|
|
/* Correct the sequence numbers. */
|
|
|
TCP_SKB_CB(buff)->seq = TCP_SKB_CB(skb)->seq + len;
|