Skip to contentSkip to conversation

SVCRDMA: Fix erroneous BUG_ON in send_write

PATCH New Tom Tucker 1 participant 1 message Mar 11, 2008

Subsystems (3)
lore
Share & tools
lore

Tom Tucker

author
#0 lore raw

PATCH 1/1 SVCRDMA: Fix erroneous BUG_ON in send_write

The assertion that checks for sge context overflow is incorrectly hard-coded to 32. This causes a kernel bug check when using big-data mounts. Changed the BUG_ON to use the computed value RPCSVC_MAXPAGES.

---
Please queue this for 2.6.25. This problem was found by a 2.6.25 user who sent me the oops.

 net/sunrpc/xprtrdma/svc_rdma_sendto.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/sunrpc/xprtrdma/svc_rdma_sendto.c +1 -1
index 0598b22..981f190 100644
@@ -156,7 +156,7 @@ static int send_write(struct svcxprt_rdma *xprt, struct svc_rqst *rqstp,
 	struct svc_rdma_op_ctxt *ctxt;
 	int ret = 0;
 
-	BUG_ON(sge_count >= 32);
+	BUG_ON(sge_count > RPCSVC_MAXPAGES);
 	dprintk("svcrdma: RDMA_WRITE rmr=%x, to=%llx, xdr_off=%d, "
 		"write_len=%d, xdr_sge=%p, sge_count=%d\n",
 		rmr, (unsigned long long)to, xdr_off,