mutex_lock(&dev->flow_db->lock);
@@ -3640,6 +3646,9 @@ static struct ib_flow *mlx5_ib_create_flow(struct ib_qp *qp,
kfree(ucmd);
kfree(handler);
return ERR_PTR(err);
+free_ucmd:
+ kfree(ucmd);
+ return ERR_PTR(err);
}
This hunk is a bit wonky, can we do this instead? handle never needs
to be freed.
destroy_ft:
put_flow_table(dev, ft_prio, false);
if (ft_prio_tx)
put_flow_table(dev, ft_prio_tx, false);
unlock:
mutex_unlock(&dev->flow_db->lock);
kfree(dst);
free_ucmd:
kfree(ucmd);
return ERR_PTR(err);
}