]> git.droids-corp.org - dpdk.git/commitdiff
net/mlx5: fix tunnel offload freeing
authorGregory Etelson <getelson@nvidia.com>
Wed, 25 Nov 2020 09:44:27 +0000 (11:44 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 25 Nov 2020 12:54:20 +0000 (13:54 +0100)
PMD did not remove tunnel offload object from tunnels database before
it released the object memory. As the result, the tunnels database
become corrupted and subsequent search operations triggered PMD crash.
The patch removes tunnel offload object from the tunnels database when
the object is not in-use by PMD any more.

Fixes: bc1d90a3cf6f ("net/mlx5: fix build with Direct Verbs disabled")
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow.c

index 642516ad4b56a0458c2a26d8708e31849a1c17f5..52ade39a4291ff0b728d48de0ef7811ba69e416a 100644 (file)
@@ -7423,6 +7423,7 @@ mlx5_flow_tunnel_free(struct rte_eth_dev *dev,
 
        DRV_LOG(DEBUG, "port %u release pmd tunnel id=0x%x",
                dev->data->port_id, tunnel->tunnel_id);
+       LIST_REMOVE(tunnel, chain);
        mlx5_hlist_destroy(tunnel->groups);
        ipool = priv->sh->ipool[MLX5_IPOOL_TUNNEL_ID];
        mlx5_ipool_free(ipool, tunnel->tunnel_id);