mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
net: fix two sparse errors
First one in __skb_checksum_validate_complete() fixes the following (and other callers) make C=2 CF=-D__CHECK_ENDIAN__ net/ipv4/tcp_ipv4.o CHECK net/ipv4/tcp_ipv4.c include/linux/skbuff.h:3052:24: warning: incorrect type in return expression (different base types) include/linux/skbuff.h:3052:24: expected restricted __sum16 include/linux/skbuff.h:3052:24: got int Second is fixing gso_make_checksum() : CHECK net/ipv4/gre_offload.c include/linux/skbuff.h:3360:14: warning: incorrect type in assignment (different base types) include/linux/skbuff.h:3360:14: expected unsigned short [unsigned] [usertype] csum include/linux/skbuff.h:3360:14: got restricted __sum16 include/linux/skbuff.h:3365:16: warning: incorrect type in return expression (different base types) include/linux/skbuff.h:3365:16: expected restricted __sum16 include/linux/skbuff.h:3365:16: got unsigned short [unsigned] [usertype] csum Fixes:5a21232983
("net: Support for csum_bad in skbuff") Fixes:7e2b10c1e5
("net: Support for multiple checksums with gso") Signed-off-by: Eric Dumazet <edumazet@google.com> CC: Tom Herbert <tom@herbertland.com> Acked-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ba6d05641c
commit
c91d460652
@ -3051,7 +3051,7 @@ static inline __sum16 __skb_checksum_validate_complete(struct sk_buff *skb,
|
||||
}
|
||||
} else if (skb->csum_bad) {
|
||||
/* ip_summed == CHECKSUM_NONE in this case */
|
||||
return 1;
|
||||
return (__force __sum16)1;
|
||||
}
|
||||
|
||||
skb->csum = psum;
|
||||
@ -3353,15 +3353,14 @@ static inline int gso_pskb_expand_head(struct sk_buff *skb, int extra)
|
||||
static inline __sum16 gso_make_checksum(struct sk_buff *skb, __wsum res)
|
||||
{
|
||||
int plen = SKB_GSO_CB(skb)->csum_start - skb_headroom(skb) -
|
||||
skb_transport_offset(skb);
|
||||
__u16 csum;
|
||||
skb_transport_offset(skb);
|
||||
__wsum partial;
|
||||
|
||||
csum = csum_fold(csum_partial(skb_transport_header(skb),
|
||||
plen, skb->csum));
|
||||
partial = csum_partial(skb_transport_header(skb), plen, skb->csum);
|
||||
skb->csum = res;
|
||||
SKB_GSO_CB(skb)->csum_start -= plen;
|
||||
|
||||
return csum;
|
||||
return csum_fold(partial);
|
||||
}
|
||||
|
||||
static inline bool skb_is_gso(const struct sk_buff *skb)
|
||||
|
Loading…
Reference in New Issue
Block a user