|
@@ -1846,8 +1846,9 @@ int pskb_trim_rcsum_slow(struct sk_buff *skb, unsigned int len)
|
|
if (skb->ip_summed == CHECKSUM_COMPLETE) {
|
|
if (skb->ip_summed == CHECKSUM_COMPLETE) {
|
|
int delta = skb->len - len;
|
|
int delta = skb->len - len;
|
|
|
|
|
|
- skb->csum = csum_sub(skb->csum,
|
|
|
|
- skb_checksum(skb, len, delta, 0));
|
|
|
|
|
|
+ skb->csum = csum_block_sub(skb->csum,
|
|
|
|
+ skb_checksum(skb, len, delta, 0),
|
|
|
|
+ len);
|
|
}
|
|
}
|
|
return __pskb_trim(skb, len);
|
|
return __pskb_trim(skb, len);
|
|
}
|
|
}
|