linux-xiaomi-chiron/include/linux/sunrpc
NeilBrown 1de7eea929 SUNRPC: add side channel to use non-generic cred for rpc call.
The credential passed in rpc_message.rpc_cred is always a
generic credential except in one instance.
When gss_destroying_context() calls rpc_call_null(), it passes
a specific credential that it needs to destroy.
In this case the RPC acts *on* the credential rather than
being authorized by it.

This special case deserves explicit support and providing that will
mean that rpc_message.rpc_cred is *always* generic, allowing
some optimizations.

So add "tk_op_cred" to rpc_task and "rpc_op_cred" to the setup data.
Use this to pass the cred down from rpc_call_null(), and have
rpcauth_bindcred() notice it and bind it in place.

Credit to kernel test robot <fengguang.wu@intel.com> for finding
a bug in earlier version of this patch.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2018-12-19 13:52:45 -05:00
..
addr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
auth.h NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). 2018-12-19 13:52:45 -05:00
auth_gss.h SUNRPC: The transmitted message must lie in the RPCSEC window of validity 2018-09-30 15:35:13 -04:00
bc_xprt.h SUNRPC: Fix up the back channel transmit 2018-09-30 15:35:15 -04:00
cache.h SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock 2018-10-29 16:58:04 -04:00
clnt.h NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). 2018-12-19 13:52:45 -05:00
debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gss_api.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gss_asn1.h
gss_err.h
gss_krb5.h NFS client bugfixes for Linux 4.20 2018-11-04 08:20:09 -08:00
gss_krb5_enctypes.h
metrics.h sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones 2018-07-31 12:53:35 -04:00
msg_prot.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rpc_pipe_fs.h remove rpc_rmdir() 2018-04-16 14:20:26 -04:00
rpc_rdma.h xprtrdma: Add proper SPDX tags for NetApp-contributed source 2018-05-07 09:20:03 -04:00
sched.h SUNRPC: add side channel to use non-generic cred for rpc call. 2018-12-19 13:52:45 -05:00
stats.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
svc.h NFSD: Handle full-length symlinks 2018-08-09 16:11:21 -04:00
svc_rdma.h svcrdma: Increase the default connection credit limit 2018-10-29 16:58:04 -04:00
svc_xprt.h SUNRPC: Clean up transport write space handling 2018-09-30 15:35:15 -04:00
svcauth.h SUNRPC: Add lockless lookup of the server's auth domain 2018-10-03 11:32:59 -04:00
svcauth_gss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
svcsock.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
timer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xdr.h SUNRPC: Fix a memory leak in call_encode() 2018-12-02 09:43:57 -05:00
xprt.h SUNRPC: Add a bvec array to struct xdr_buf for use with iovec_iter() 2018-09-30 15:35:16 -04:00
xprtmultipath.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xprtrdma.h xprtrdma: Add proper SPDX tags for NetApp-contributed source 2018-05-07 09:20:03 -04:00
xprtsock.h SUNRPC: Simplify TCP receive code by switching to using iterators 2018-09-30 15:35:16 -04:00