summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinglong Mee <kinglongmee@gmail.com>2014-03-24 05:00:28 +0100
committerJ. Bruce Fields <bfields@redhat.com>2014-03-30 16:47:37 +0200
commit642aab58db209da990dc11b966933afc622ac4c5 (patch)
treeff442269c9a6865547edf511715e58a53d5402e3
parentNFSD/SUNRPC: Check rpc_xprt out of xs_setup_bc_tcp (diff)
downloadlinux-642aab58db209da990dc11b966933afc622ac4c5.tar.xz
linux-642aab58db209da990dc11b966933afc622ac4c5.zip
SUNRPC: Clear xpt_bc_xprt if xs_setup_bc_tcp failed
Don't move the assign of args->bc_xprt->xpt_bc_xprt out of xs_setup_bc_tcp, because rpc_ping (which is in rpc_create) will using it. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--net/sunrpc/xprtsock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 1335239217cd..3e251b81d26a 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -2982,6 +2982,8 @@ static struct rpc_xprt *xs_setup_bc_tcp(struct xprt_create *args)
if (try_module_get(THIS_MODULE))
return xprt;
+
+ args->bc_xprt->xpt_bc_xprt = NULL;
xprt_put(xprt);
ret = ERR_PTR(-EINVAL);
out_err: