From: Trond Myklebust Date: Mon, 28 Oct 2013 20:42:44 +0000 (-0400) Subject: SUNRPC: Add correct rcu_dereference annotation in rpc_clnt_set_transport X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=34751b9d04a221da2a74b27ba439f01c0ae30069;p=linux-beck.git SUNRPC: Add correct rcu_dereference annotation in rpc_clnt_set_transport rpc_clnt_set_transport should use rcu_derefence_protected(), as it is only safe to be called with the rpc_clnt::cl_lock held. Cc: Chuck Lever Signed-off-by: Trond Myklebust --- diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index f167d9c8d7dd..759b78b056a7 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -272,7 +272,8 @@ static struct rpc_xprt *rpc_clnt_set_transport(struct rpc_clnt *clnt, struct rpc_xprt *old; spin_lock(&clnt->cl_lock); - old = clnt->cl_xprt; + old = rcu_dereference_protected(clnt->cl_xprt, + lockdep_is_held(&clnt->cl_lock)); if (!xprt_bound(xprt)) clnt->cl_autobind = 1;