net/mlx5: fix using flow tunnel before null check
authorYunjian Wang <wangyunjian@huawei.com>
Sat, 27 Mar 2021 02:44:09 +0000 (10:44 +0800)
committerRaslan Darawsheh <rasland@nvidia.com>
Wed, 31 Mar 2021 07:16:17 +0000 (09:16 +0200)
Coverity flags that 'ctx->tunnel' variable is used before
it's checked for NULL. This patch fixes this issue.

Coverity issue: 366201
Fixes: 868d2e342cf3 ("net/mlx5: fix tunnel offload hub multi-thread protection")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow.c

index 7ab7f63..c347f81 100644 (file)
@@ -7881,10 +7881,11 @@ static void get_tunnel_miss(struct rte_eth_dev *dev, void *x)
 
        rte_spinlock_unlock(&thub->sl);
        ctx->tunnel = mlx5_flow_tunnel_allocate(dev, ctx->app_tunnel);
-       ctx->tunnel->refctn = 1;
        rte_spinlock_lock(&thub->sl);
-       if (ctx->tunnel)
+       if (ctx->tunnel) {
+               ctx->tunnel->refctn = 1;
                LIST_INSERT_HEAD(&thub->tunnels, ctx->tunnel, chain);
+       }
 }