From: Trond Myklebust Date: Thu, 7 Apr 2022 03:18:57 +0000 (-0400) Subject: SUNRPC: Handle ENOMEM in call_transmit_status() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=03ac680dacf9344036fe96d2102574bc5105cb8f;p=linux.git SUNRPC: Handle ENOMEM in call_transmit_status() [ Upstream commit d3c15033b240767d0287f1c4a529cbbe2d5ded8a ] Both call_transmit() and call_bc_transmit() can now return ENOMEM, so let's make sure that we handle the errors gracefully. Fixes: 0472e4766049 ("SUNRPC: Convert socket page send code to use iov_iter()") Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin --- diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 5d5627bf3b186..9a183c254c840 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -2202,6 +2202,7 @@ call_transmit_status(struct rpc_task *task) * socket just returned a connection error, * then hold onto the transport lock. */ + case -ENOMEM: case -ENOBUFS: rpc_delay(task, HZ>>2); fallthrough; @@ -2285,6 +2286,7 @@ call_bc_transmit_status(struct rpc_task *task) case -ENOTCONN: case -EPIPE: break; + case -ENOMEM: case -ENOBUFS: rpc_delay(task, HZ>>2); fallthrough;