[PATCH net] ipv4: fix endianness issue in inet_rtm_getroute_build_skb()

Subsystems: networking [general], networking [ipv4/ipv6], the rest

STALE1803d

3 messages, 3 authors, 2021-08-31 · open the first message on its own page

[PATCH net] ipv4: fix endianness issue in inet_rtm_getroute_build_skb()

From: Eric Dumazet <hidden>
Date: 2021-08-31 02:02:16

From: Eric Dumazet <edumazet@google.com>

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 <edumazet@google.com>
Cc: Roopa Prabhu <redacted>
Cc: David Ahern <dsahern@kernel.org>
---
 net/ipv4/route.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 225714b5efc0b9c6bcd2d58a62d4656cdc5a1cde..94e33d3eaf621d99baeab338e4e847471d835215 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3184,7 +3184,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;
 	}
-- 
2.33.0.259.gc128427fd7-goog

Re: [PATCH net] ipv4: fix endianness issue in inet_rtm_getroute_build_skb()

From: David Ahern <hidden>
Date: 2021-08-31 02:34:21

On 8/30/21 7:02 PM, Eric Dumazet wrote:
From: Eric Dumazet <edumazet@google.com>

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 <edumazet@google.com>
Cc: Roopa Prabhu <redacted>
Cc: David Ahern <dsahern@kernel.org>
---
 net/ipv4/route.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: David Ahern <dsahern@kernel.org>

Re: [PATCH net] ipv4: fix endianness issue in inet_rtm_getroute_build_skb()

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-08-31 11:10:22

Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Mon, 30 Aug 2021 19:02:10 -0700 you wrote:
From: Eric Dumazet <edumazet@google.com>

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

[...]
Here is the summary with links:
  - [net] ipv4: fix endianness issue in inet_rtm_getroute_build_skb()
    https://git.kernel.org/netdev/net-next/c/92548b0ee220

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help