sunrpc: Propagate errors from xs_bind() through xs_create_sock()
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 22 Feb 2011 21:54:34 +0000 (21:54 +0000)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 10 Mar 2011 20:04:58 +0000 (15:04 -0500)
xs_create_sock() is supposed to return a pointer or an ERR_PTR-encoded
error, but it currently returns 0 if xs_bind() fails.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Cc: stable@kernel.org [v2.6.37]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/xprtsock.c

index c431f5a579605bfa5ea33161ff45188ab4bd570d..be96d429b475f72c31f5d16a0b9e28d677d969b9 100644 (file)
@@ -1631,7 +1631,8 @@ static struct socket *xs_create_sock(struct rpc_xprt *xprt,
        }
        xs_reclassify_socket(family, sock);
 
-       if (xs_bind(transport, sock)) {
+       err = xs_bind(transport, sock);
+       if (err) {
                sock_release(sock);
                goto out;
        }