diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 4 | ||||
-rw-r--r-- | net/core/skbuff.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 1a36b17f4b..59d058a3b5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -1191,9 +1191,9 @@ int skb_checksum_help(struct sk_buff *skb) | |||
1191 | 1191 | ||
1192 | offset = skb->tail - skb->h.raw; | 1192 | offset = skb->tail - skb->h.raw; |
1193 | BUG_ON(offset <= 0); | 1193 | BUG_ON(offset <= 0); |
1194 | BUG_ON(skb->csum + 2 > offset); | 1194 | BUG_ON(skb->csum_offset + 2 > offset); |
1195 | 1195 | ||
1196 | *(__sum16*)(skb->h.raw + skb->csum) = csum_fold(csum); | 1196 | *(__sum16*)(skb->h.raw + skb->csum_offset) = csum_fold(csum); |
1197 | 1197 | ||
1198 | out_set_summed: | 1198 | out_set_summed: |
1199 | skb->ip_summed = CHECKSUM_NONE; | 1199 | skb->ip_summed = CHECKSUM_NONE; |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 07c25d6019..a90bc43948 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -1414,7 +1414,7 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to) | |||
1414 | skb->len - csstart, 0); | 1414 | skb->len - csstart, 0); |
1415 | 1415 | ||
1416 | if (skb->ip_summed == CHECKSUM_PARTIAL) { | 1416 | if (skb->ip_summed == CHECKSUM_PARTIAL) { |
1417 | long csstuff = csstart + skb->csum; | 1417 | long csstuff = csstart + skb->csum_offset; |
1418 | 1418 | ||
1419 | *((__sum16 *)(to + csstuff)) = csum_fold(csum); | 1419 | *((__sum16 *)(to + csstuff)) = csum_fold(csum); |
1420 | } | 1420 | } |