Commit 1208fd56 authored by J. Bruce Fields's avatar J. Bruce Fields

SUNRPC: fix xprt leak on xps allocation failure

Callers of rpc_create_xprt expect it to put the xprt on success and
failure.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
Acked-by: default avatarTrond Myklebust <trondmy@primarydata.com>
parent eee93016
...@@ -453,9 +453,10 @@ struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args, ...@@ -453,9 +453,10 @@ struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args,
struct rpc_xprt_switch *xps; struct rpc_xprt_switch *xps;
xps = xprt_switch_alloc(xprt, GFP_KERNEL); xps = xprt_switch_alloc(xprt, GFP_KERNEL);
if (xps == NULL) if (xps == NULL) {
xprt_put(xprt);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
}
clnt = rpc_new_client(args, xps, xprt, NULL); clnt = rpc_new_client(args, xps, xprt, NULL);
if (IS_ERR(clnt)) if (IS_ERR(clnt))
return clnt; return clnt;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment