[Cluster-devel] [PATCH] DLM: Telnet to port 21064 can stop all lockspaces
Steven Whitehouse
swhiteho at redhat.com
Wed Jun 27 13:29:22 UTC 2007
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 <pcaulfie at redhat.com>
> 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;
More information about the Cluster-devel
mailing list