summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-10-29 13:45:54 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-10-29 13:45:54 -0300
commita71852147516bc1cb5b0b3cbd13639bfd4022dc8 (patch)
treee1950ad489b1cc9f4404c643d94ff87ba595a8c1 /include/linux
parentbadc0e42604c4465facd81d2323e98b3b1eb9188 (diff)
Linux-libre 4.2.5-gnupck-4.2.5-gnu
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 9b8853648..275158803 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2601,6 +2601,9 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb,
{
if (skb->ip_summed == CHECKSUM_COMPLETE)
skb->csum = csum_sub(skb->csum, csum_partial(start, len, 0));
+ else if (skb->ip_summed == CHECKSUM_PARTIAL &&
+ skb_checksum_start_offset(skb) < 0)
+ skb->ip_summed = CHECKSUM_NONE;
}
unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len);