aboutsummaryrefslogtreecommitdiffstats
path: root/fs/lockd
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2018-12-02 19:30:31 -0500
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2018-12-19 13:52:46 -0500
commita52458b48af142bcc2b72fe810c0db20cfae7fdd (patch)
treecb77d59d5fdf3d50e69500b8cc7cba1c7199272f /fs/lockd
parent684f39b4cf5186bb0660e686f94296688b24fb32 (diff)
NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.
SUNRPC has two sorts of credentials, both of which appear as "struct rpc_cred". There are "generic credentials" which are supplied by clients such as NFS and passed in 'struct rpc_message' to indicate which user should be used to authorize the request, and there are low-level credentials such as AUTH_NULL, AUTH_UNIX, AUTH_GSS which describe the credential to be sent over the wires. This patch replaces all the generic credentials by 'struct cred' pointers - the credential structure used throughout Linux. For machine credentials, there is a special 'struct cred *' pointer which is statically allocated and recognized where needed as having a special meaning. A look-up of a low-level cred will map this to a machine credential. Signed-off-by: NeilBrown <neilb@suse.com> Acked-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/lockd')
-rw-r--r--fs/lockd/clntproc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c
index d20b92f271c2..7c80c28df971 100644
--- a/fs/lockd/clntproc.c
+++ b/fs/lockd/clntproc.c
@@ -256,7 +256,7 @@ static int nlm_wait_on_grace(wait_queue_head_t *queue)
256 * Generic NLM call 256 * Generic NLM call
257 */ 257 */
258static int 258static int
259nlmclnt_call(struct rpc_cred *cred, struct nlm_rqst *req, u32 proc) 259nlmclnt_call(const struct cred *cred, struct nlm_rqst *req, u32 proc)
260{ 260{
261 struct nlm_host *host = req->a_host; 261 struct nlm_host *host = req->a_host;
262 struct rpc_clnt *clnt; 262 struct rpc_clnt *clnt;
@@ -401,7 +401,7 @@ int nlm_async_reply(struct nlm_rqst *req, u32 proc, const struct rpc_call_ops *t
401 * completion in order to be able to correctly track the lock 401 * completion in order to be able to correctly track the lock
402 * state. 402 * state.
403 */ 403 */
404static int nlmclnt_async_call(struct rpc_cred *cred, struct nlm_rqst *req, u32 proc, const struct rpc_call_ops *tk_ops) 404static int nlmclnt_async_call(const struct cred *cred, struct nlm_rqst *req, u32 proc, const struct rpc_call_ops *tk_ops)
405{ 405{
406 struct rpc_message msg = { 406 struct rpc_message msg = {
407 .rpc_argp = &req->a_args, 407 .rpc_argp = &req->a_args,
@@ -510,7 +510,7 @@ static int do_vfs_lock(struct file_lock *fl)
510static int 510static int
511nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl) 511nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
512{ 512{
513 struct rpc_cred *cred = nfs_file_cred(fl->fl_file); 513 const struct cred *cred = nfs_file_cred(fl->fl_file);
514 struct nlm_host *host = req->a_host; 514 struct nlm_host *host = req->a_host;
515 struct nlm_res *resp = &req->a_res; 515 struct nlm_res *resp = &req->a_res;
516 struct nlm_wait *block = NULL; 516 struct nlm_wait *block = NULL;