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: 2f5bb47368
("mlx4: Add ref counting to port MAC table for RoCE")
Signed-off-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
e9a7faf11a
commit
bede98e781
@ -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_PROXY_GSI ||
|
||||||
qp->mlx4_ib_qp_type == MLX4_IB_QPT_TUN_GSI) {
|
qp->mlx4_ib_qp_type == MLX4_IB_QPT_TUN_GSI) {
|
||||||
err = handle_eth_ud_smac_index(dev, qp, (u8 *)attr->smac, context);
|
err = handle_eth_ud_smac_index(dev, qp, (u8 *)attr->smac, context);
|
||||||
if (err)
|
if (err) {
|
||||||
return -EINVAL;
|
err = -EINVAL;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
if (qp->mlx4_ib_qp_type == MLX4_IB_QPT_PROXY_GSI)
|
if (qp->mlx4_ib_qp_type == MLX4_IB_QPT_PROXY_GSI)
|
||||||
dev->qp1_proxy[qp->port - 1] = qp;
|
dev->qp1_proxy[qp->port - 1] = qp;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user