diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-05-22 12:57:24 -0400 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-05-30 14:35:04 +0100 |
commit | f7b72b71fe00b5159d71f0d385c8d5e5865bcd32 (patch) | |
tree | efaa16d1b96ec549491db7cc4bc4f396bbe29fee /tools | |
parent | a27e05b0cf32d711c1ec57625b6053658efd11fc (diff) | |
download | kernel_samsung_smdk4412-f7b72b71fe00b5159d71f0d385c8d5e5865bcd32.zip kernel_samsung_smdk4412-f7b72b71fe00b5159d71f0d385c8d5e5865bcd32.tar.gz kernel_samsung_smdk4412-f7b72b71fe00b5159d71f0d385c8d5e5865bcd32.tar.bz2 |
SUNRPC: Prevent an rpc_task wakeup race
commit a3c3cac5d31879cd9ae2de7874dc6544ca704aec upstream.
The lockless RPC_IS_QUEUED() test in __rpc_execute means that we need to
be careful about ordering the calls to rpc_test_and_set_running(task) and
rpc_clear_queued(task). If we get the order wrong, then we may end up
testing the RPC_TASK_RUNNING flag after __rpc_execute() has looped
and changed the state of the rpc_task.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions