|
@@ -335,11 +335,13 @@ static struct ip6_tnl *ip6gre_tunnel_locate(struct net *net,
|
|
if (t || !create)
|
|
if (t || !create)
|
|
return t;
|
|
return t;
|
|
|
|
|
|
- if (parms->name[0])
|
|
|
|
|
|
+ if (parms->name[0]) {
|
|
|
|
+ if (!dev_valid_name(parms->name))
|
|
|
|
+ return NULL;
|
|
strlcpy(name, parms->name, IFNAMSIZ);
|
|
strlcpy(name, parms->name, IFNAMSIZ);
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
strcpy(name, "ip6gre%d");
|
|
strcpy(name, "ip6gre%d");
|
|
-
|
|
|
|
|
|
+ }
|
|
dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN,
|
|
dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN,
|
|
ip6gre_tunnel_setup);
|
|
ip6gre_tunnel_setup);
|
|
if (!dev)
|
|
if (!dev)
|