diff options
author | NeilBrown <neilb@suse.com> | 2018-12-02 19:30:31 -0500 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-12-19 13:52:46 -0500 |
commit | a52458b48af142bcc2b72fe810c0db20cfae7fdd (patch) | |
tree | cb77d59d5fdf3d50e69500b8cc7cba1c7199272f /fs/lockd | |
parent | 684f39b4cf5186bb0660e686f94296688b24fb32 (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.c | 6 |
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 | */ |
258 | static int | 258 | static int |
259 | nlmclnt_call(struct rpc_cred *cred, struct nlm_rqst *req, u32 proc) | 259 | nlmclnt_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 | */ |
404 | static int nlmclnt_async_call(struct rpc_cred *cred, struct nlm_rqst *req, u32 proc, const struct rpc_call_ops *tk_ops) | 404 | static 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) | |||
510 | static int | 510 | static int |
511 | nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl) | 511 | nlmclnt_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; |