OSDN Git Service

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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Mar 2021 02:06:54 +0000 (18:06 -0800)
(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>
net/tipc/netlink_compat.c

index 5a1ce64..0749df8 100644 (file)
@@ -696,7 +696,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_strscpy(link_info.str, link[TIPC_NLA_LINK_NAME],
                    TIPC_MAX_LINK_NAME);