Trond Myklebust eb9b55ab4d 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: Trond Myklebust <Trond.Myklebust@netapp.com>
2009-03-10 20:33:16 -04:00
..
2009-02-06 22:07:41 -08:00
2009-03-03 23:48:50 -08:00
2009-03-04 23:46:25 -08:00
2008-12-08 01:14:16 -08:00
2009-01-07 17:23:17 -08:00
2009-02-09 15:07:18 -08:00
2009-03-04 23:46:25 -08:00
2009-01-04 17:29:21 -08:00
2009-01-11 00:17:22 -08:00
2008-12-10 15:18:31 -08:00
2009-01-06 16:45:26 -08:00
2008-11-03 18:21:05 -08:00
2009-01-06 10:44:34 -08:00
2009-01-25 20:49:14 -08:00
2009-01-11 00:06:33 -08:00
2008-11-03 18:21:05 -08:00
2008-11-19 18:49:57 -08:00