Re: [PATCH] ipv6: Correct/silence an endian warning in ip6_multipath_l3_keys

From: Kunwu Chan
Date: Sun Nov 19 2023 - 09:35:35 EST


Hi Eric,
Thank you very much for the suggestion, I have modified and resent the patch as suggested.

On 2023/11/18 01:29, Eric Dumazet wrote:
On Fri, Nov 17, 2023 at 6:06 PM Kunwu Chan <chentao@xxxxxxxxxx> wrote:

net/ipv6/route.c:2332:39: warning: incorrect type in assignment (different base types)
net/ipv6/route.c:2332:39: expected unsigned int [usertype] flow_label
net/ipv6/route.c:2332:39: got restricted __be32

Signed-off-by: Kunwu Chan <chentao@xxxxxxxxxx>

Same remark, we need a Fixes: tag

---
net/ipv6/route.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index b132feae3393..692c811eb786 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2329,7 +2329,7 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb,
} else {
keys->addrs.v6addrs.src = key_iph->saddr;
keys->addrs.v6addrs.dst = key_iph->daddr;
- keys->tags.flow_label = ip6_flowlabel(key_iph);
+ keys->tags.flow_label = be32_to_cpu(ip6_flowlabel(key_iph));
keys->basic.ip_proto = key_iph->nexthdr;
}

This is not consistent with line 2541 doing:

hash_keys.tags.flow_label = (__force u32)flowi6_get_flowlabel(fl6);