[NET]: Annotate callers of the reset of checksum.h stuff.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
5084205faf
Коммит
5f92a7388a
|
@ -1294,7 +1294,7 @@ unsigned int skb_checksum(const struct sk_buff *skb, int offset,
|
||||||
|
|
||||||
end = start + list->len;
|
end = start + list->len;
|
||||||
if ((copy = end - offset) > 0) {
|
if ((copy = end - offset) > 0) {
|
||||||
unsigned int csum2;
|
__wsum csum2;
|
||||||
if (copy > len)
|
if (copy > len)
|
||||||
copy = len;
|
copy = len;
|
||||||
csum2 = skb_checksum(list, offset - start,
|
csum2 = skb_checksum(list, offset - start,
|
||||||
|
|
|
@ -332,7 +332,7 @@ static int icmp_glue_bits(void *from, char *to, int offset, int len, int odd,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct icmp_bxm *icmp_param = (struct icmp_bxm *)from;
|
struct icmp_bxm *icmp_param = (struct icmp_bxm *)from;
|
||||||
unsigned int csum;
|
__wsum csum;
|
||||||
|
|
||||||
csum = skb_copy_and_csum_bits(icmp_param->skb,
|
csum = skb_copy_and_csum_bits(icmp_param->skb,
|
||||||
icmp_param->offset + offset,
|
icmp_param->offset + offset,
|
||||||
|
|
|
@ -877,7 +877,7 @@ static int ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
if (tunnel->parms.o_flags&GRE_CSUM) {
|
if (tunnel->parms.o_flags&GRE_CSUM) {
|
||||||
*ptr = 0;
|
*ptr = 0;
|
||||||
*(__be16*)ptr = ip_compute_csum((void*)(iph+1), skb->len - sizeof(struct iphdr));
|
*(__sum16*)ptr = ip_compute_csum((void*)(iph+1), skb->len - sizeof(struct iphdr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -262,7 +262,7 @@ static int icmpv6_getfrag(void *from, char *to, int offset, int len, int odd, st
|
||||||
{
|
{
|
||||||
struct icmpv6_msg *msg = (struct icmpv6_msg *) from;
|
struct icmpv6_msg *msg = (struct icmpv6_msg *) from;
|
||||||
struct sk_buff *org_skb = msg->skb;
|
struct sk_buff *org_skb = msg->skb;
|
||||||
__u32 csum = 0;
|
__wsum csum = 0;
|
||||||
|
|
||||||
csum = skb_copy_and_csum_bits(org_skb, msg->offset + offset,
|
csum = skb_copy_and_csum_bits(org_skb, msg->offset + offset,
|
||||||
to, len, csum);
|
to, len, csum);
|
||||||
|
|
|
@ -530,7 +530,7 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi *fl,
|
||||||
|
|
||||||
/* in case cksum was not initialized */
|
/* in case cksum was not initialized */
|
||||||
if (unlikely(csum))
|
if (unlikely(csum))
|
||||||
tmp_csum = csum_sub(tmp_csum, csum);
|
tmp_csum = csum_sub(tmp_csum, csum_unfold(csum));
|
||||||
|
|
||||||
csum = csum_ipv6_magic(&fl->fl6_src,
|
csum = csum_ipv6_magic(&fl->fl6_src,
|
||||||
&fl->fl6_dst,
|
&fl->fl6_dst,
|
||||||
|
|
|
@ -45,7 +45,8 @@ static size_t skb_read_bits(skb_reader_t *desc, void *to, size_t len)
|
||||||
*/
|
*/
|
||||||
static size_t skb_read_and_csum_bits(skb_reader_t *desc, void *to, size_t len)
|
static size_t skb_read_and_csum_bits(skb_reader_t *desc, void *to, size_t len)
|
||||||
{
|
{
|
||||||
unsigned int csum2, pos;
|
unsigned int pos;
|
||||||
|
__wsum csum2;
|
||||||
|
|
||||||
if (len > desc->count)
|
if (len > desc->count)
|
||||||
len = desc->count;
|
len = desc->count;
|
||||||
|
@ -160,7 +161,7 @@ int csum_partial_copy_to_xdr(struct xdr_buf *xdr, struct sk_buff *skb)
|
||||||
if (xdr_partial_copy_from_skb(xdr, 0, &desc, skb_read_and_csum_bits) < 0)
|
if (xdr_partial_copy_from_skb(xdr, 0, &desc, skb_read_and_csum_bits) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (desc.offset != skb->len) {
|
if (desc.offset != skb->len) {
|
||||||
unsigned int csum2;
|
__wsum csum2;
|
||||||
csum2 = skb_checksum(skb, desc.offset, skb->len - desc.offset, 0);
|
csum2 = skb_checksum(skb, desc.offset, skb->len - desc.offset, 0);
|
||||||
desc.csum = csum_block_add(desc.csum, csum2, desc.offset);
|
desc.csum = csum_block_add(desc.csum, csum2, desc.offset);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче