[Devel] Re: [PATCH] Don't create tunnels with '%' in name.
Patrick McHardy
kaber at trash.net
Thu Feb 21 04:10:16 PST 2008
Pavel Emelyanov wrote:
> Four tunnel drivers (ip_gre, ipip, ip6_tunnel and sit) can
> receive a pre-defined name for a device from the userspace.
> Since these drivers call the register_netdevice() after this
> (rtnl_lock is held), the device's name may contain a '%'
> character.
>
> Not sure how bad is this to have a device with a '%' in its
> name, but all the other places either use the register_netdev(),
> or explicitly call dev_alloc_name() before registering, i.e.
> do not allow for such names.
>
> Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
>
> ---
>
> diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
> index 63f6917..6b9744f 100644
> --- a/net/ipv4/ip_gre.c
> +++ b/net/ipv4/ip_gre.c
> @@ -274,19 +274,24 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct ip_tunnel_parm *parms, int
> if (!dev)
> return NULL;
>
> + if (strchr(name, '%')) {
> + if (dev_alloc_name(dev, name) < 0)
> + goto failed_free;
> + }
> +
It would be nicer to replace the entire hand-made name
allocation to remove the 100 device limit.
More information about the Devel
mailing list