فهرست منبع

svcrdma: Remove last two __GFP_NOFAIL call sites

Clean up.

These functions can otherwise fail, so check for page allocation
failures too.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Bruce Fields <bfields@fieldses.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Chuck Lever 9 سال پیش
والد
کامیت
78da2b3cea
2فایلهای تغییر یافته به همراه7 افزوده شده و 2 حذف شده
  1. 4 1
      net/sunrpc/xprtrdma/svc_rdma_sendto.c
  2. 3 1
      net/sunrpc/xprtrdma/svc_rdma_transport.c

+ 4 - 1
net/sunrpc/xprtrdma/svc_rdma_sendto.c

@@ -598,7 +598,10 @@ int svc_rdma_sendto(struct svc_rqst *rqstp)
 	inline_bytes = rqstp->rq_res.len;
 
 	/* Create the RDMA response header */
-	res_page = alloc_page(GFP_KERNEL | __GFP_NOFAIL);
+	ret = -ENOMEM;
+	res_page = alloc_page(GFP_KERNEL);
+	if (!res_page)
+		goto err0;
 	rdma_resp = page_address(res_page);
 	reply_ary = svc_rdma_get_reply_array(rdma_argp);
 	if (reply_ary)

+ 3 - 1
net/sunrpc/xprtrdma/svc_rdma_transport.c

@@ -1445,7 +1445,9 @@ void svc_rdma_send_error(struct svcxprt_rdma *xprt, struct rpcrdma_msg *rmsgp,
 	int length;
 	int ret;
 
-	p = alloc_page(GFP_KERNEL | __GFP_NOFAIL);
+	p = alloc_page(GFP_KERNEL);
+	if (!p)
+		return;
 	va = page_address(p);
 
 	/* XDR encode error */