ipv4: fix checksum annotation in udp4_csum_init
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Sun, 12 Jun 2016 10:02:46 +0000 (12:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jun 2016 19:28:04 +0000 (15:28 -0400)
Reported-by: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Tom Herbert <tom@herbertland.com>
Fixes: 4068579e1e098fa ("net: Implmement RFC 6936 (zero RX csums for UDP/IPv6")
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp.c

index 0ff31d97d48586af00c6973d123576e040ed422a..ba0d8b8b76900aab863b02a349852d6e41760cda 100644 (file)
@@ -1755,8 +1755,11 @@ static inline int udp4_csum_init(struct sk_buff *skb, struct udphdr *uh,
                        return err;
        }
 
-       return skb_checksum_init_zero_check(skb, proto, uh->check,
-                                           inet_compute_pseudo);
+       /* Note, we are only interested in != 0 or == 0, thus the
+        * force to int.
+        */
+       return (__force int)skb_checksum_init_zero_check(skb, proto, uh->check,
+                                                        inet_compute_pseudo);
 }
 
 /*