From: Yevgeny Petrilin Date: Sun, 6 Sep 2009 03:24:49 +0000 (-0700) Subject: mlx4_core: Avoid double free_icms X-Git-Tag: v2.6.32-rc1~736^2~1^6~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=1af92e2a211b0d46ef60ea9f30f989fd7b5725fa;p=~emulex%2Finfiniband.git mlx4_core: Avoid double free_icms On the error path of mlx4_init_hca(), mlx4_close_hca() is called, followed by mlx4_free_icms() and mlx4_UNMAP_FA(). But both those functions are also called from mlx4_close_hca(), which leads to a double free. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier --- diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c index 528f89b2cde..3dd481e77f9 100644 --- a/drivers/net/mlx4/main.c +++ b/drivers/net/mlx4/main.c @@ -789,7 +789,7 @@ static int mlx4_init_hca(struct mlx4_dev *dev) return 0; err_close: - mlx4_close_hca(dev); + mlx4_CLOSE_HCA(dev, 0); err_free_icm: mlx4_free_icms(dev);