tipc: convert dest node's address to network order
authorHoang Le <hoang.h.le@dektech.com.au>
Thu, 11 Mar 2021 03:33:22 +0000 (10:33 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:40:29 +0000 (10:40 +0200)
[ Upstream commit 1980d37565061ab44bdc2f9e4da477d3b9752e81 ]

(struct tipc_link_info)->dest is in network order (__be32), so we must
convert the value to network order before assigning. The problem detected
by sparse:

net/tipc/netlink_compat.c:699:24: warning: incorrect type in assignment (different base types)
net/tipc/netlink_compat.c:699:24:    expected restricted __be32 [usertype] dest
net/tipc/netlink_compat.c:699:24:    got int

Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tipc/netlink_compat.c

index 403be9bfd8d165ffff022dd798fb4db77a49299a..69151de9657c6554f88c60b3c195fe6c3eef5f93 100644 (file)
@@ -662,7 +662,7 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
        if (err)
                return err;
 
-       link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
+       link_info.dest = htonl(nla_get_flag(link[TIPC_NLA_LINK_DEST]));
        link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
        nla_strlcpy(link_info.str, link[TIPC_NLA_LINK_NAME],
                    TIPC_MAX_LINK_NAME);