sunrpc: fix RCU handling of gc_ctx field
authorJeff Layton <jlayton@primarydata.com>
Wed, 16 Jul 2014 10:52:19 +0000 (06:52 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 3 Aug 2014 21:05:23 +0000 (17:05 -0400)
commitc5e6aecd034e70e73af4d7a2b8a115239e3568b5
treeeebbcf35eb1eceaa76b022a64b134b51dd31b62a
parenta3b255717fed1cad0dd4ed5be77114d32ef22a6d
sunrpc: fix RCU handling of gc_ctx field

The handling of the gc_ctx pointer only seems to be partially RCU-safe.
The assignment and freeing are done using RCU, but many places in the
code seem to dereference that pointer without proper RCU safeguards.

Fix them to use rcu_dereference and to rcu_read_lock/unlock, and to
properly handle the case where the pointer is NULL.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/auth_gss/auth_gss.c