On Thu, 2022-04-07 at 14:46 -0400, trondmy@xxxxxxxxxx wrote: > From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > > The allocation is done with GFP_KERNEL, but it could still fail in a > low > memory situation. > > Fixes: 4a85a6a3320b ("SUNRPC: Handle TCP socket sends with > kernel_sendpage() again") > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > net/sunrpc/svcsock.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c > index 478f857cdaed..6ea3d87e1147 100644 > --- a/net/sunrpc/svcsock.c > +++ b/net/sunrpc/svcsock.c > @@ -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) Chuck, Do you mind if I send this and the 8/8 as part of the client pull request? I saw this while I was digging through the code and separating out the client and server uses of xdr_alloc_bvec(). -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx