From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Peterson Date: Wed, 10 Feb 2016 13:55:29 -0500 Subject: [Cluster-devel] [DLM PATCH 3/6] DLM: Make consistent error path through tcp_create_listen_sock In-Reply-To: <1455130532-9317-1-git-send-email-rpeterso@redhat.com> References: <1455130532-9317-1-git-send-email-rpeterso@redhat.com> Message-ID: <1455130532-9317-4-git-send-email-rpeterso@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Function tcp_create_listen_sock has two error paths. One of them was setting con->sock to NULL. The other was not. This patch changes it to be consistent and do the same thing for both error paths. Signed-off-by: Bob Peterson --- fs/dlm/lowcomms.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index e740326..3b780f0 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c @@ -1199,10 +1199,7 @@ static struct socket *tcp_create_listen_sock(struct connection *con, result = sock->ops->bind(sock, (struct sockaddr *) saddr, addr_len); if (result < 0) { log_print("Can't bind to port %d", dlm_config.ci_tcp_port); - sock_release(sock); - sock = NULL; - con->sock = NULL; - goto create_out; + goto out_err; } result = kernel_setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&one, sizeof(one)); @@ -1213,13 +1210,18 @@ static struct socket *tcp_create_listen_sock(struct connection *con, result = sock->ops->listen(sock, 5); if (result < 0) { log_print("Can't listen on port %d", dlm_config.ci_tcp_port); - sock_release(sock); - sock = NULL; - goto create_out; + goto out_err; } create_out: return sock; + +out_err: + sock_release(sock); + sock = NULL; + con->sock = NULL; + + goto create_out; } /* Get local addresses */ -- 2.5.0