OSDN Git Service

selftests: nci: Fix the code for next nlattr offset
authorBongsu Jeon <bongsu.jeon@samsung.com>
Tue, 17 Aug 2021 13:28:14 +0000 (06:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Aug 2021 09:17:57 +0000 (10:17 +0100)
nlattr could have a padding for 4 bytes alignment. So next nla's offset
should be calculated with a padding.

Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/nci/nci_dev.c

index b4d85ee..cf47505 100644 (file)
@@ -113,8 +113,8 @@ static int send_cmd_mt_nla(int sd, __u16 nlmsg_type, __u32 nlmsg_pid,
                if (nla_len > 0)
                        memcpy(NLA_DATA(na), nla_data[cnt], nla_len[cnt]);
 
-               msg.n.nlmsg_len += NLMSG_ALIGN(na->nla_len);
-               prv_len = na->nla_len;
+               prv_len = NLA_ALIGN(nla_len[cnt]) + NLA_HDRLEN;
+               msg.n.nlmsg_len += prv_len;
        }
 
        buf = (char *)&msg;