Re: [PATCH] new UDPCP Communication Protocol

Eric Dumazet
2011-01-02T16:34:13Z

Le dimanche 02 janvier 2011 à 16:31 +0100, stefani@seibold.net a écrit :
> From: Stefani Seibold <stefani@seibold.net>
>
> Changelog:
> 31.12.2010 first proposal
> 01.01.2011 code cleanup and fixes suggest by Eric Dumazet
> 02.01.2011 kick away UDP-Lite support
> change spin_lock_irq into spin_lock_bh
> faster udpcp_release_sock
> base is now linux-next
...

> +/*
> + * 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);
> +
> + dest = kzalloc(sizeof(*dest), sk->sk_allocation);
> +
> + if (dest) {
> + 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;
> +}
> +

I have not found what prevents a malicious user to make destlist grow
and consume all memory ?