Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bede98e7 authored by Majd Dibbiny's avatar Majd Dibbiny Committed by Roland Dreier
Browse files

IB/mlx4: Fix memory leak in __mlx4_ib_modify_qp



In case handle_eth_ud_smac_index fails, we need to free the allocated resources.

Fixes: 2f5bb473 ("mlx4: Add ref counting to port MAC table for RoCE")
Signed-off-by: default avatarMajd Dibbiny <majd@mellanox.com>
Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent e9a7faf1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1674,8 +1674,10 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
			    qp->mlx4_ib_qp_type == MLX4_IB_QPT_PROXY_GSI ||
			    qp->mlx4_ib_qp_type == MLX4_IB_QPT_TUN_GSI) {
				err = handle_eth_ud_smac_index(dev, qp, (u8 *)attr->smac, context);
				if (err)
					return -EINVAL;
				if (err) {
					err = -EINVAL;
					goto out;
				}
				if (qp->mlx4_ib_qp_type == MLX4_IB_QPT_PROXY_GSI)
					dev->qp1_proxy[qp->port - 1] = qp;
			}