[openib-general] [PATCH 07/10] IB/mthca: Don't try to set srq->last for userspace SRQs

Roland Dreier rolandd at cisco.com
Tue Sep 20 15:08:11 PDT 2005


Subject: [PATCH] IB/mthca: Don't try to set srq->last for userspace SRQs

Userspace SRQs don't have a buffer allocated for them in the kernel, so
it doesn't make sense to set srq->last during initialization.  In fact,
this can crash trying to follow a nonexistent buffer pointer.

Signed-off-by: Roland Dreier <rolandd at cisco.com>

---

 drivers/infiniband/hw/mthca/mthca_srq.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

6577ae51cf52f5fb0e4a85e673dd7bf2d0074e3e
diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c
--- a/drivers/infiniband/hw/mthca/mthca_srq.c
+++ b/drivers/infiniband/hw/mthca/mthca_srq.c
@@ -172,6 +172,8 @@ static int mthca_alloc_srq_buf(struct mt
 			scatter->lkey = cpu_to_be32(MTHCA_INVAL_LKEY);
 	}
 
+	srq->last = get_wqe(srq, srq->max - 1);
+
 	return 0;
 }
 
@@ -263,7 +265,6 @@ int mthca_alloc_srq(struct mthca_dev *de
 
 	srq->first_free = 0;
 	srq->last_free  = srq->max - 1;
-	srq->last	= get_wqe(srq, srq->max - 1);
 
 	return 0;
 



More information about the general mailing list