net/mlx5: fix buffer allocation check in rule cleanup
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Sat, 10 Nov 2018 09:59:25 +0000 (09:59 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 13 Nov 2018 23:35:53 +0000 (00:35 +0100)
The Netlink message buffer is allocated and there is the typo,
the other pointer is checked instead of returned one. If no
memory is allocated and NULL is returned by allocation routine
the bug causes segmentation fault. The patch fixes typo,
returned pointer is validated.

Fixes: f420f03d6772 ("net/mlx5: add E-switch VXLAN rule cleanup routines")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
drivers/net/mlx5/mlx5_flow_tcf.c

index fb817b2..ba0674a 100644 (file)
@@ -4226,7 +4226,7 @@ flow_tcf_collect_vxlan_cb(const struct nlmsghdr *nlh, void *arg)
        vxindex = ifm->ifi_index;
        cmd = flow_tcf_alloc_nlcmd(ctx, MNL_ALIGN(sizeof(struct nlmsghdr)) +
                                        MNL_ALIGN(sizeof(struct ifinfomsg)));
-       if (!nlh) {
+       if (!cmd) {
                rte_errno = ENOMEM;
                return -rte_errno;
        }