net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx
authorRaed Salem <raeds@mellanox.com>
Wed, 23 Oct 2019 13:41:21 +0000 (16:41 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 6 Feb 2020 20:24:23 +0000 (12:24 -0800)
SA context is allocated at mlx5_fpga_ipsec_create_sa_ctx,
however the counterpart mlx5_fpga_ipsec_delete_sa_ctx function
nullifies sa_ctx pointer without freeing the memory allocated,
hence the memory leak.

Fix by free SA context when the SA is released.

Fixes: d6c4f0298cec ("net/mlx5: Refactor accel IPSec code")
Signed-off-by: Raed Salem <raeds@mellanox.com>
Reviewed-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c

index 4ed4d4d8e073304070671eef6fc488943feaec01..4c61d25d2e889c3df7b32b9df51e65a651ac0458 100644 (file)
@@ -850,6 +850,7 @@ void mlx5_fpga_ipsec_delete_sa_ctx(void *context)
        mutex_lock(&fpga_xfrm->lock);
        if (!--fpga_xfrm->num_rules) {
                mlx5_fpga_ipsec_release_sa_ctx(fpga_xfrm->sa_ctx);
+               kfree(fpga_xfrm->sa_ctx);
                fpga_xfrm->sa_ctx = NULL;
        }
        mutex_unlock(&fpga_xfrm->lock);