Skip to contentSkip to conversation

xprtrdma: Fix error code in rpcrdma_buffer_create()

PATCH In review Dan Carpenter 2 participants 2 messages Jan 5, 2019

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

PATCH 1/2 xprtrdma: Fix error code in rpcrdma_buffer_create()

This should return -ENOMEM if __alloc_workqueue_key() fails, but it returns success.

Fixes 6d2d0ee27c7a ("xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue")
---
 net/sunrpc/xprtrdma/verbs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
net/sunrpc/xprtrdma/verbs.c +3 -1
index 7749a2bf6887..3dde05892c8e 100644
@@ -1113,8 +1113,10 @@ rpcrdma_buffer_create(struct rpcrdma_xprt *r_xprt)
 						WQ_MEM_RECLAIM | WQ_HIGHPRI,
 						0,
 			r_xprt->rx_xprt.address_strings[RPC_DISPLAY_ADDR]);
-	if (!buf->rb_completion_wq)
+	if (!buf->rb_completion_wq) {
+		rc = -ENOMEM;
 		goto out;
+	}
 
 	return 0;
 out:
Signature · 1 line
2.17.1
Reviewed-by on v1 1/2
#1 lore raw
Quoted 8 lines · Dan Carpenter

This should return -ENOMEM if __alloc_workqueue_key() fails, but it returns success.

Fixes 6d2d0ee27c7a ("xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue")

Indeed.

Quoted 19 lines

---
net/sunrpc/xprtrdma/verbs.c | 4 +++-

1 file changed, 3 insertions(+), 1 deletion(-)
net/sunrpc/xprtrdma/verbs.c +3 -1
index 7749a2bf6887..3dde05892c8e 100644
@@ -1113,8 +1113,10 @@ rpcrdma_buffer_create(struct rpcrdma_xprt *r_xprt)
 						WQ_MEM_RECLAIM | WQ_HIGHPRI,
 						0,
 			r_xprt->rx_xprt.address_strings[RPC_DISPLAY_ADDR]);
-	if (!buf->rb_completion_wq)
+	if (!buf->rb_completion_wq) {
+		rc = -ENOMEM;
 		goto out;
+	}
 
 	return 0;
Quoted 4 lines

out:

Signature · 1 line
2.17.1

--
Chuck Lever