SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec()

[ Upstream commit b056fa0708 ]

The allocation is done with GFP_KERNEL, but it could still fail in a low
memory situation.

Fixes: 4a85a6a332 ("SUNRPC: Handle TCP socket sends with kernel_sendpage() again")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Trond Myklebust 2022-04-07 14:10:23 -04:00 committed by Greg Kroah-Hartman
parent 3b32dda29f
commit 3fd9be3ec5

View File

@ -1096,7 +1096,9 @@ static int svc_tcp_sendmsg(struct socket *sock, struct xdr_buf *xdr,
int ret;
*sentp = 0;
xdr_alloc_bvec(xdr, GFP_KERNEL);
ret = xdr_alloc_bvec(xdr, GFP_KERNEL);
if (ret < 0)
return ret;
ret = kernel_sendmsg(sock, &msg, &rm, 1, rm.iov_len);
if (ret < 0)