Hi, (I submitted to this patch to cluster-devel. However, none has interest to my post. So I'll submit it here again.) It seems that `sock' allocated by sock_create_kern in tcp_connect_to_sock() of dlm/fs/lowcomms.c is not released if dlm_nodeid_to_addr an error. static void tcp_connect_to_sock(struct connection *con) { ... result = sock_create_kern(dlm_local_addr[0]->ss_family, SOCK_STREAM, IPPROTO_TCP, &sock); if (result < 0) goto out_err; memset(&saddr, 0, sizeof(saddr)); if (dlm_nodeid_to_addr(con->nodeid, &saddr)) { sock_release(sock); goto out_err; } ... out_err: if (con->sock) { sock_release(con->sock); con->sock = NULL; } Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx> diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 637018c..3962262 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c @@ -891,8 +891,10 @@ static void tcp_connect_to_sock(struct connection *con) goto out_err; memset(&saddr, 0, sizeof(saddr)); - if (dlm_nodeid_to_addr(con->nodeid, &saddr)) + if (dlm_nodeid_to_addr(con->nodeid, &saddr)) { + sock_release(sock); goto out_err; + } sock->sk->sk_user_data = con; con->rx_action = receive_from_sock; -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster