aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/sched.c')
-rw-r--r--net/sunrpc/sched.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 7db956f6e018..6eab9bf94baf 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -817,14 +817,11 @@ static void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *ta
817 task->tk_action = rpc_prepare_task; 817 task->tk_action = rpc_prepare_task;
818 818
819 if (task_setup_data->rpc_message != NULL) { 819 if (task_setup_data->rpc_message != NULL) {
820 memcpy(&task->tk_msg, task_setup_data->rpc_message, sizeof(task->tk_msg)); 820 task->tk_msg.rpc_proc = task_setup_data->rpc_message->rpc_proc;
821 task->tk_msg.rpc_argp = task_setup_data->rpc_message->rpc_argp;
822 task->tk_msg.rpc_resp = task_setup_data->rpc_message->rpc_resp;
821 /* Bind the user cred */ 823 /* Bind the user cred */
822 if (task->tk_msg.rpc_cred != NULL) 824 rpcauth_bindcred(task, task_setup_data->rpc_message->rpc_cred, task_setup_data->flags);
823 rpcauth_holdcred(task);
824 else if (!(task_setup_data->flags & RPC_TASK_ROOTCREDS))
825 rpcauth_bindcred(task);
826 else
827 rpcauth_bind_root_cred(task);
828 if (task->tk_action == NULL) 825 if (task->tk_action == NULL)
829 rpc_call_start(task); 826 rpc_call_start(task);
830 } 827 }