On Fri, 2016-08-12 at 07:48 +0200, Johannes Berg wrote:
> From: Johannes Berg <johannes.b...@intel.com>
> 
> Pass the correct type __wsum to csum_sub() and csum_add(). This doesn't
> really change anything since __wsum really *is* __be32, but removes the
> address space warnings from sparse.
> 
> Cc: Eric Dumazet <eduma...@google.com>
> Fixes: 34ae6a1aa054 ("ipv6: update skb->csum when CE mark is propagated")
> Signed-off-by: Johannes Berg <johannes.b...@intel.com>
> ---
>  include/net/inet_ecn.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/net/inet_ecn.h b/include/net/inet_ecn.h
> index 0dc0a51da38f..dce2d586d9ce 100644
> --- a/include/net/inet_ecn.h
> +++ b/include/net/inet_ecn.h
> @@ -128,7 +128,8 @@ static inline int IP6_ECN_set_ce(struct sk_buff *skb, 
> struct ipv6hdr *iph)
>       to = from | htonl(INET_ECN_CE << 20);
>       *(__be32 *)iph = to;
>       if (skb->ip_summed == CHECKSUM_COMPLETE)
> -             skb->csum = csum_add(csum_sub(skb->csum, from), to);
> +             skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from),
> +                                  (__force __wsum)to);
>       return 1;
>  }
>  

Thanks Johannes

Acked-by: Eric Dumazet <eduma...@google.com>



Reply via email to