From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 27 Jun 2007 14:29:22 +0100 Subject: [Cluster-devel] [PATCH] DLM: Telnet to port 21064 can stop all lockspaces In-Reply-To: <46823DA7.4030206@redhat.com> References: <46823DA7.4030206@redhat.com> Message-ID: <1182950962.3386.6.camel@localhost.localdomain> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Now applied to the -nmw git tree. Thanks, Steve. On Wed, 2007-06-27 at 11:36 +0100, Patrick Caulfield wrote: > This patch fixes Red Hat bz#245892 > > Opening a tcp connection from a cluster member to another cluster member > targeting the dlm port it is enough to stop every dlm operation in the cluster. > This means that GFS and rgmanager will hang. > > > Signed-Off-By: Patrick Caulfield > plain text document attachment (lowcomms-dos-patch.upstream) > diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c > index fc0bff7..73d44f5 100644 > --- a/fs/dlm/lowcomms.c > +++ b/fs/dlm/lowcomms.c > @@ -720,11 +720,17 @@ static int tcp_accept_from_sock(struct connection *con) > INIT_WORK(&othercon->rwork, process_recv_sockets); > set_bit(CF_IS_OTHERCON, &othercon->flags); > newcon->othercon = othercon; > + othercon->sock = newsock; > + newsock->sk->sk_user_data = othercon; > + add_sock(newsock, othercon); > + addcon = othercon; > + } > + else { > + printk("Extra connection from node %d attempted\n", nodeid); > + result = -EAGAIN; > + up_write(&newcon->sock_sem); > + goto accept_err; > } > - othercon->sock = newsock; > - newsock->sk->sk_user_data = othercon; > - add_sock(newsock, othercon); > - addcon = othercon; > } > else { > newsock->sk->sk_user_data = newcon;