SUNRPC: Fix a potential race in rpc_wake_up_task()
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 13 Nov 2006 21:23:44 +0000 (16:23 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 6 Dec 2006 15:46:26 +0000 (10:46 -0500)
commit8aca67f0ae2d8811165c22326825a645cc8e1b48
tree19e82f4bc7b4f865a9dcf4744e7c224ea517ba10
parente6b3c4db6fbcd0d33720696f37790d6b8be12313
SUNRPC: Fix a potential race in rpc_wake_up_task()

Use RCU to ensure that we can safely call rpc_finish_wakeup after we've
called __rpc_do_wake_up_task. If not, there is a theoretical race, in which
the rpc_task finishes executing, and gets freed first.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/read.c
fs/nfs/write.c
include/linux/nfs_fs.h
include/linux/sunrpc/sched.h
net/sunrpc/sched.c