Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

skb_copy_and_csum_bits(): don't bother with the last argument

it's always 0

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 8d5930df 9123e3a7

+15 -14
+1 -1
drivers/net/ethernet/sun/sunvnet_common.c
··· 1168 1168 *(__sum16 *)(skb->data + offset) = 0; 1169 1169 csum = skb_copy_and_csum_bits(skb, start, 1170 1170 nskb->data + start, 1171 - skb->len - start, 0); 1171 + skb->len - start); 1172 1172 1173 1173 /* add in the header checksums */ 1174 1174 if (skb->protocol == htons(ETH_P_IP)) {
+1 -1
include/linux/skbuff.h
··· 3535 3535 int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len); 3536 3536 int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len); 3537 3537 __wsum skb_copy_and_csum_bits(const struct sk_buff *skb, int offset, u8 *to, 3538 - int len, __wsum csum); 3538 + int len); 3539 3539 int skb_splice_bits(struct sk_buff *skb, struct sock *sk, unsigned int offset, 3540 3540 struct pipe_inode_info *pipe, unsigned int len, 3541 3541 unsigned int flags);
+6 -5
net/core/skbuff.c
··· 2723 2723 /* Both of above in one bottle. */ 2724 2724 2725 2725 __wsum skb_copy_and_csum_bits(const struct sk_buff *skb, int offset, 2726 - u8 *to, int len, __wsum csum) 2726 + u8 *to, int len) 2727 2727 { 2728 2728 int start = skb_headlen(skb); 2729 2729 int i, copy = start - offset; 2730 2730 struct sk_buff *frag_iter; 2731 2731 int pos = 0; 2732 + __wsum csum = 0; 2732 2733 2733 2734 /* Copy header. */ 2734 2735 if (copy > 0) { 2735 2736 if (copy > len) 2736 2737 copy = len; 2737 2738 csum = csum_partial_copy_nocheck(skb->data + offset, to, 2738 - copy, csum); 2739 + copy, 0); 2739 2740 if ((len -= copy) == 0) 2740 2741 return csum; 2741 2742 offset += copy; ··· 2792 2791 copy = len; 2793 2792 csum2 = skb_copy_and_csum_bits(frag_iter, 2794 2793 offset - start, 2795 - to, copy, 0); 2794 + to, copy); 2796 2795 csum = csum_block_add(csum, csum2, pos); 2797 2796 if ((len -= copy) == 0) 2798 2797 return csum; ··· 3012 3011 csum = 0; 3013 3012 if (csstart != skb->len) 3014 3013 csum = skb_copy_and_csum_bits(skb, csstart, to + csstart, 3015 - skb->len - csstart, 0); 3014 + skb->len - csstart); 3016 3015 3017 3016 if (skb->ip_summed == CHECKSUM_PARTIAL) { 3018 3017 long csstuff = csstart + skb->csum_offset; ··· 3933 3932 skb_copy_and_csum_bits(head_skb, offset, 3934 3933 skb_put(nskb, 3935 3934 len), 3936 - len, 0); 3935 + len); 3937 3936 SKB_GSO_CB(nskb)->csum_start = 3938 3937 skb_headroom(nskb) + doffset; 3939 3938 } else {
+1 -1
net/ipv4/icmp.c
··· 352 352 353 353 csum = skb_copy_and_csum_bits(icmp_param->skb, 354 354 icmp_param->offset + offset, 355 - to, len, 0); 355 + to, len); 356 356 357 357 skb->csum = csum_block_add(skb->csum, csum, odd); 358 358 if (icmp_pointers[icmp_param->data.icmph.type].error)
+2 -2
net/ipv4/ip_output.c
··· 1126 1126 if (fraggap) { 1127 1127 skb->csum = skb_copy_and_csum_bits( 1128 1128 skb_prev, maxfraglen, 1129 - data + transhdrlen, fraggap, 0); 1129 + data + transhdrlen, fraggap); 1130 1130 skb_prev->csum = csum_sub(skb_prev->csum, 1131 1131 skb->csum); 1132 1132 data += fraggap; ··· 1411 1411 skb->csum = skb_copy_and_csum_bits(skb_prev, 1412 1412 maxfraglen, 1413 1413 skb_transport_header(skb), 1414 - fraggap, 0); 1414 + fraggap); 1415 1415 skb_prev->csum = csum_sub(skb_prev->csum, 1416 1416 skb->csum); 1417 1417 pskb_trim_unique(skb_prev, maxfraglen);
+2 -2
net/ipv6/icmp.c
··· 314 314 { 315 315 struct icmpv6_msg *msg = (struct icmpv6_msg *) from; 316 316 struct sk_buff *org_skb = msg->skb; 317 - __wsum csum = 0; 317 + __wsum csum; 318 318 319 319 csum = skb_copy_and_csum_bits(org_skb, msg->offset + offset, 320 - to, len, csum); 320 + to, len); 321 321 skb->csum = csum_block_add(skb->csum, csum, odd); 322 322 if (!(msg->type & ICMPV6_INFOMSG_MASK)) 323 323 nf_ct_attach(skb, org_skb);
+1 -1
net/ipv6/ip6_output.c
··· 1615 1615 if (fraggap) { 1616 1616 skb->csum = skb_copy_and_csum_bits( 1617 1617 skb_prev, maxfraglen, 1618 - data + transhdrlen, fraggap, 0); 1618 + data + transhdrlen, fraggap); 1619 1619 skb_prev->csum = csum_sub(skb_prev->csum, 1620 1620 skb->csum); 1621 1621 data += fraggap;
+1 -1
net/sunrpc/socklib.c
··· 70 70 if (len > desc->count) 71 71 len = desc->count; 72 72 pos = desc->offset; 73 - csum2 = skb_copy_and_csum_bits(desc->skb, pos, to, len, 0); 73 + csum2 = skb_copy_and_csum_bits(desc->skb, pos, to, len); 74 74 desc->csum = csum_block_add(desc->csum, csum2, pos); 75 75 desc->count -= len; 76 76 desc->offset += len;