Skip to content
Commit eb9b55ab authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Tighten up the task locking rules in __rpc_execute()



We should probably not be testing any flags after we've cleared the
RPC_TASK_RUNNING flag, since rpc_make_runnable() is then free to assign the
rpc_task to another workqueue, which may then destroy it.

We can fix any races with rpc_make_runnable() by ensuring that we only
clear the RPC_TASK_RUNNING flag while holding the rpc_wait_queue->lock that
the task is supposed to be sleeping on (and then checking whether or not
the task really is sleeping).

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 16b71fdf
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment