diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-02-08 03:11:12 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-03-16 15:34:28 +0300 |
commit | 7eac52648a4c24ad23a05f62db97867c92a5747b (patch) | |
tree | b728294741052a9f0bec6e94c6b4a3033eefeb58 /net/sunrpc/sched.c | |
parent | 1d179d6bd67369a52edea8562154b31ee20be1cc (diff) | |
download | linux-7eac52648a4c24ad23a05f62db97867c92a5747b.tar.xz |
SUNRPC: Add a flag to avoid reference counts on credentials
Add a flag to signal to the RPC layer that the credential is already
pinned for the duration of the RPC call.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'net/sunrpc/sched.c')
-rw-r--r-- | net/sunrpc/sched.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index 55e900255b0c..6eff14119a88 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -1162,7 +1162,8 @@ static void rpc_release_resources_task(struct rpc_task *task) { xprt_release(task); if (task->tk_msg.rpc_cred) { - put_cred(task->tk_msg.rpc_cred); + if (!(task->tk_flags & RPC_TASK_CRED_NOREF)) + put_cred(task->tk_msg.rpc_cred); task->tk_msg.rpc_cred = NULL; } rpc_task_release_client(task); |