diff mbox series

RDMA/mthca: Fix crash when polling CQ for shared QPs

Message ID 20230713141658.9426-1-tbogendoerfer@suse.de (mailing list archive)
State Accepted
Headers show
Series RDMA/mthca: Fix crash when polling CQ for shared QPs | expand

Commit Message

Thomas Bogendoerfer July 13, 2023, 2:16 p.m. UTC
Commit 21c2fe94abb2 ("RDMA/mthca: Combine special QP struct with mthca QP")
introduced a new struct mthca_sqp which doesn't contain struct mthca_qp
any longer. Placing a pointer of this new struct into qptable leads
to crashes, because mthca_poll_one() expects a qp pointer. Fix this
by putting the correct pointer into qptable.

Fixes: 21c2fe94abb2 ("RDMA/mthca: Combine special QP struct with mthca QP")
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/infiniband/hw/mthca/mthca_qp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Leon Romanovsky July 16, 2023, 11:41 a.m. UTC | #1
On Thu, 13 Jul 2023 16:16:58 +0200, Thomas Bogendoerfer wrote:
> Commit 21c2fe94abb2 ("RDMA/mthca: Combine special QP struct with mthca QP")
> introduced a new struct mthca_sqp which doesn't contain struct mthca_qp
> any longer. Placing a pointer of this new struct into qptable leads
> to crashes, because mthca_poll_one() expects a qp pointer. Fix this
> by putting the correct pointer into qptable.
> 
> 
> [...]

Applied, thanks!

[1/1] RDMA/mthca: Fix crash when polling CQ for shared QPs
      https://git.kernel.org/rdma/rdma/c/5ceccabbdcf805

Best regards,
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c
index 69bba0ef4a5d..53f43649f7d0 100644
--- a/drivers/infiniband/hw/mthca/mthca_qp.c
+++ b/drivers/infiniband/hw/mthca/mthca_qp.c
@@ -1393,7 +1393,7 @@  int mthca_alloc_sqp(struct mthca_dev *dev,
 	if (mthca_array_get(&dev->qp_table.qp, mqpn))
 		err = -EBUSY;
 	else
-		mthca_array_set(&dev->qp_table.qp, mqpn, qp->sqp);
+		mthca_array_set(&dev->qp_table.qp, mqpn, qp);
 	spin_unlock_irq(&dev->qp_table.lock);
 
 	if (err)