Re: [PATCH] net: restrict device names from having whitespace

From: Xavier Bestel
Date: Fri Aug 18 2006 - 05:30:10 EST


On Fri, 2006-08-18 at 09:17, Xavier Bestel wrote:
> On Fri, 2006-08-18 at 08:11, Stephen Hemminger wrote:
> > Don't allow spaces in network device names because it makes
> > it difficult to provide text interfaces via sysfs.
>
> Personally I would at least avoid all chars <= ' ', because an interface
> name is meant to be displayed and these control chars do no good on a
> console nor in X.

Something like the following patch (short of a full in-kernel utf8
validator). That said it starts looking like policy in the kernel. Maybe
the "no space in devname" should just be enforced by some userspace
tool, not by the kernel itself ?

Xav

diff --git a/net/core/dev.c b/net/core/dev.c
index d95e262..906cbf3 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -636,10 +636,23 @@ struct net_device * dev_get_by_flags(uns
*/
int dev_valid_name(const char *name)
{
- return !(*name == '\0'
- || !strcmp(name, ".")
- || !strcmp(name, "..")
- || strchr(name, '/'));
+ if(!*name) /* empty string */
+ return 0;
+ if(*name == '.') { /* . or .. */
+ if(!name[1])
+ return 0;
+ if(name[1] == '.' && !name[2])
+ return 0;
+ }
+ /* control char, space or slash */
+ while(*name) {
+ if(*name == '/')
+ return 0;
+ if(*name <= ' ')
+ return 0;
+ ++name;
+ }
+ return 1;
}

/**


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/