From: Eric Dumazet Date: Tue, 31 Aug 2021 02:02:10 +0000 (-0700) Subject: ipv4: fix endianness issue in inet_rtm_getroute_build_skb() X-Git-Tag: v5.15~428^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=92548b0ee220e000d81c27ac9a80e0ede895a881;p=platform%2Fkernel%2Flinux-starfive.git ipv4: fix endianness issue in inet_rtm_getroute_build_skb() The UDP length field should be in network order. This removes the following sparse error: net/ipv4/route.c:3173:27: warning: incorrect type in assignment (different base types) net/ipv4/route.c:3173:27: expected restricted __be16 [usertype] len net/ipv4/route.c:3173:27: got unsigned long Fixes: 404eb77ea766 ("ipv4: support sport, dport and ip_proto in RTM_GETROUTE") Signed-off-by: Eric Dumazet Cc: Roopa Prabhu Cc: David Ahern Reviewed-by: David Ahern Signed-off-by: David S. Miller --- diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 1b6c8fa..d6899ab 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -3165,7 +3165,7 @@ static struct sk_buff *inet_rtm_getroute_build_skb(__be32 src, __be32 dst, udph = skb_put_zero(skb, sizeof(struct udphdr)); udph->source = sport; udph->dest = dport; - udph->len = sizeof(struct udphdr); + udph->len = htons(sizeof(struct udphdr)); udph->check = 0; break; }