[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1294008562.2535.263.camel@edumazet-laptop>
Date: Sun, 02 Jan 2011 23:49:22 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: stefani@...bold.net
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
davem@...emloft.net, netdev@...r.kernel.org, shemminger@...tta.com,
jj@...osbits.net, daniel.baluta@...il.com, jochen@...hen.org
Subject: Re: [PATCH] new UDPCP Communication Protocol
Le dimanche 02 janvier 2011 à 23:39 +0100, stefani@...bold.net a écrit :
> +
> +/*
> + * Create a new destination descriptor for the given IPV4 address and port
> + */
> +static struct udpcp_dest *new_dest(struct sock *sk, __be32 addr, __be16 port)
> +{
> + struct udpcp_dest *dest;
> + struct udpcp_sock *usk = udpcp_sk(sk);
> +
> + if (usk->connections >= udpcp_max_connections)
> + return NULL;
> +
> + dest = kzalloc(sizeof(*dest), sk->sk_allocation);
> +
> + if (dest) {
> + usk->connections++;
> + skb_queue_head_init(&dest->xmit);
> + dest->addr = addr;
> + dest->port = port;
> + dest->ackmode = UDPCP_ACK;
> + list_add_tail(&dest->list, &usk->destlist);
> + }
> +
> + return dest;
> +}
> +
Hmm, so 'connections' is increased, never decreased.
This seems a fatal flaw in this protocol, since a malicious user can
easily fill the list with garbage, and block regular communications.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists