diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-02-08 01:16:34 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-03-16 13:34:29 +0100 |
commit | 263fb9c21e7a86e8e373a23edfa82700422f5e6a (patch) | |
tree | 715aa153fa71ce81925ea7ac8f4393b25ae5dd89 /net | |
parent | SUNRPC: Add a flag to avoid reference counts on credentials (diff) | |
download | linux-263fb9c21e7a86e8e373a23edfa82700422f5e6a.tar.xz linux-263fb9c21e7a86e8e373a23edfa82700422f5e6a.zip |
SUNRPC: Don't take a reference to the cred on synchronous tasks
If the RPC call is synchronous, assume the cred is already pinned
by the caller.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/clnt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 2345e563c2f4..252b044cdcdf 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -1127,6 +1127,9 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data) task = rpc_new_task(task_setup_data); + if (!RPC_IS_ASYNC(task)) + task->tk_flags |= RPC_TASK_CRED_NOREF; + rpc_task_set_client(task, task_setup_data->rpc_client); rpc_task_set_rpc_message(task, task_setup_data->rpc_message); |