diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index d9535bb8fe2e..d4e5a20d82e2 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -245,11 +245,13 @@ static struct ip_tunnel *ipip6_tunnel_locate(struct net *net, if (!create) goto failed; - if (parms->name[0]) + if (parms->name[0]) { + if (!dev_valid_name(parms->name)) + goto failed; strlcpy(name, parms->name, IFNAMSIZ); - else + } else { strcpy(name, "sit%d"); - + } dev = alloc_netdev(sizeof(*t), name, ipip6_tunnel_setup); if (dev == NULL) return NULL;