From: Trond Myklebust Date: Tue, 8 Jan 2013 14:31:13 +0000 (-0500) Subject: SUNRPC: Fix an RCU dereference in xs_local_rpcbind X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=3dc0da278e2b26fa8e353b3a962b2c89e184d353;p=~shefty%2Frdma-dev.git SUNRPC: Fix an RCU dereference in xs_local_rpcbind Signed-off-by: Trond Myklebust --- diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 1897181d743..f7d6e4f8c16 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -1731,7 +1731,9 @@ static int xs_bind(struct sock_xprt *transport, struct socket *sock) */ static void xs_local_rpcbind(struct rpc_task *task) { - xprt_set_bound(task->tk_xprt); + rcu_read_lock(); + xprt_set_bound(rcu_dereference(task->tk_client->cl_xprt)); + rcu_read_unlock(); } static void xs_local_set_port(struct rpc_xprt *xprt, unsigned short port)