Skip to contentSkip to conversation

IB/mlx5: Fix an error code in __mlx5_ib_modify_qp()

PATCH Applied Dan Carpenter 3 participants 3 messages Mar 6, 2018 – Mar 7, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IB/mlx5: Fix an error code in __mlx5_ib_modify_qp()

"err" is either zero or possibly uninitialized here. It should be -EINVAL.

Fixes 427c1e7bcd7e ("{IB, net}/mlx5: Move the modify QP operation table to mlx5_ib")
drivers/infiniband/hw/mlx5/qp.c +3 -1
index 90bb96292fc4..f9a1174ad7fa 100644
@@ -3118,8 +3118,10 @@ static int __mlx5_ib_modify_qp(struct ib_qp *ibqp,
 	mlx5_new = to_mlx5_state(new_state);
 
 	if (mlx5_cur >= MLX5_QP_NUM_STATE || mlx5_new >= MLX5_QP_NUM_STATE ||
-	    !optab[mlx5_cur][mlx5_new])
+	    !optab[mlx5_cur][mlx5_new]) {
+		err = -EINVAL;
 		goto out;
+	}
 
 	op = optab[mlx5_cur][mlx5_new];
 	optpar = ib_mask_to_mlx5_opt(attr_mask);
Acked-by on v1 1/1
#1 lore raw
Quoted 11 lines · Dan Carpenter

"err" is either zero or possibly uninitialized here. It should be -EINVAL.

Fixes 427c1e7bcd7e ("{IB, net}/mlx5: Move the modify QP operation table to mlx5_ib")
drivers/infiniband/hw/mlx5/qp.c +0 -0
index 90bb96292fc4..f9a1174ad7fa 100644

drivers/infiniband/hw/mlx5/qp.c static int __mlx5_ib_modify_qp(struct ib_qp *ibqp, · line 3125

Quoted 9 lines
drivers/infiniband/hw/mlx5/qp.c +3 -1
@@ -3118,8 +3118,10 @@ static int __mlx5_ib_modify_qp(struct ib_qp *ibqp,
 	mlx5_new = to_mlx5_state(new_state);
 
 	if (mlx5_cur >= MLX5_QP_NUM_STATE || mlx5_new >= MLX5_QP_NUM_STATE ||
-	    !optab[mlx5_cur][mlx5_new])
+	    !optab[mlx5_cur][mlx5_new]) {
+		err = -EINVAL;
 		goto out;
+	}
 

Thanks Dan,

#2 lore raw
In reply to Dan Carpenter
Quoted 12 lines · Dan Carpenter

"err" is either zero or possibly uninitialized here. It should be -EINVAL.

Fixes 427c1e7bcd7e ("{IB, net}/mlx5: Move the modify QP operation table to mlx5_ib")
drivers/infiniband/hw/mlx5/qp.c +1 -0
index 90bb96292fc4..f9a1174ad7fa 100644
+++ b/drivers/infiniband/hw/mlx5/qp.c
@@ -3118,8 +3118,10 @@ static int __mlx5_ib_modify_qp(struct ib_qp *ibqp,
 	mlx5_new = to_mlx5_state(new_state);

drivers/infiniband/hw/mlx5/qp.c static int __mlx5_ib_modify_qp(struct ib_qp *ibqp, · line 3127

Quoted 10 lines
drivers/infiniband/hw/mlx5/qp.c +3 -1
 
 	if (mlx5_cur >= MLX5_QP_NUM_STATE || mlx5_new >= MLX5_QP_NUM_STATE ||
-	    !optab[mlx5_cur][mlx5_new])
+	    !optab[mlx5_cur][mlx5_new]) {
+		err = -EINVAL;
 		goto out;
+	}
 
 	op = optab[mlx5_cur][mlx5_new];
 	optpar = ib_mask_to_mlx5_opt(attr_mask);

I applied this by hand to for-rc due to context changes

Thanks,
Jason