SUNRPC: Ensure we always run the tk_callback before tk_action
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 15 Mar 2011 23:56:30 +0000 (19:56 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:04:03 +0000 (13:04 -0700)
commitbac39af7892a94d7212ad9c5d269a6ac6d1d5fde
tree2db1298fe08116d4eddfbe3a81e3a06316bb8d2b
parent0b67526b4e76946e2b2e2da4cf8175ad78ae2879
SUNRPC: Ensure we always run the tk_callback before tk_action

commit e020c6800c9621a77223bf2c1ff68180e41e8ebf upstream.

This fixes a race in which the task->tk_callback() puts the rpc_task
to sleep, setting a new callback. Under certain circumstances, the current
code may end up executing the task->tk_action before it gets round to the
callback.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/sunrpc/sched.c