mirror_ubuntu-kernels/include/linux/sunrpc
NeilBrown eb07d5a4da SUNRPC: handle malloc failure in ->request_prepare
If ->request_prepare() detects an error, it sets ->rq_task->tk_status.
This is easy for callers to ignore.
The only caller is xprt_request_enqueue_receive() and it does ignore the
error, as does call_encode() which calls it.  This can result in a
request being queued to receive a reply without an allocated receive buffer.

So instead of setting rq_task->tk_status, return an error, and store in
->tk_status only in call_encode();

The call to xprt_request_enqueue_receive() is now earlier in
call_encode(), where the error can still be handled.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-03-29 22:15:46 -04:00
..
addr.h
auth_gss.h
auth.h SUNRPC/auth: async tasks mustn't block waiting for memory 2022-03-13 12:59:35 -04:00
bc_xprt.h
cache.h
clnt.h SUNRPC: Per-rpc_clnt task PIDs 2021-10-10 11:05:54 +02:00
debug.h
gss_api.h
gss_asn1.h
gss_err.h
gss_krb5_enctypes.h
gss_krb5.h
metrics.h
msg_prot.h SUNRPC: Add RPC_AUTH_TLS protocol numbers 2021-08-17 11:47:53 -04:00
rpc_pipe_fs.h
rpc_rdma_cid.h
rpc_rdma.h
sched.h NFS: Fix memory allocation in rpc_malloc() 2022-03-22 15:52:55 -04:00
stats.h
svc_rdma_pcl.h
svc_rdma.h svcrdma: Convert rdma->sc_rw_ctxts to llist 2021-08-17 11:47:53 -04:00
svc_xprt.h
svc.h Merge branch 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2022-01-17 05:49:30 +02:00
svcauth_gss.h
svcauth.h SUNRPC: Add svc_rqst::rq_auth_stat 2021-08-10 14:18:35 -04:00
svcsock.h
timer.h
types.h
xdr.h SUNRPC: Add RPC_AUTH_TLS protocol numbers 2021-08-17 11:47:53 -04:00
xprt.h SUNRPC: handle malloc failure in ->request_prepare 2022-03-29 22:15:46 -04:00
xprtmultipath.h SUNRPC keep track of number of transports to unique addresses 2021-08-27 16:36:53 -04:00
xprtrdma.h
xprtsock.h SUNRPC: Do not dereference non-socket transports in sysfs 2022-03-25 13:22:58 -04:00