linux-stable/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.h SUNRPC/auth: async tasks mustn't block waiting for memory 2022-03-13 12:59:35 -04:00
auth_gss.h
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.h
gss_krb5_enctypes.h
metrics.h
msg_prot.h
rpc_pipe_fs.h
rpc_rdma.h
rpc_rdma_cid.h
sched.h NFS: Fix memory allocation in rpc_malloc() 2022-03-22 15:52:55 -04:00
stats.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
svc_rdma.h
svc_rdma_pcl.h
svc_xprt.h
svcauth.h
svcauth_gss.h
svcsock.h
timer.h
types.h
xdr.h
xprt.h SUNRPC: handle malloc failure in ->request_prepare 2022-03-29 22:15:46 -04:00
xprtmultipath.h
xprtrdma.h
xprtsock.h SUNRPC: Do not dereference non-socket transports in sysfs 2022-03-25 13:22:58 -04:00