diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2017-11-13 00:15:08 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-11-14 16:38:46 +0900 |
commit | 93809105cf9d43790839d8b8e29a8a505290ec68 (patch) | |
tree | 63e26b1ea70b9c9b3ac0b0f7f5a1fa7187c78553 /net/core | |
parent | 6224abda0db8845756571833744d4414f144ecb5 (diff) | |
download | linux-93809105cf9d43790839d8b8e29a8a505290ec68.tar.bz2 |
net: core: check dev_valid_name in __dev_alloc_name
We currently only exclude non-sysfs-friendly names via
dev_get_valid_name; there doesn't seem to be a reason to allow such
names when we're called via dev_alloc_name.
This does duplicate the dev_valid_name check in the dev_get_valid_name()
case; we'll fix that shortly.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 4cedc7595f1f..cb3d95edf58d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1064,6 +1064,9 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf) unsigned long *inuse; struct net_device *d; + if (!dev_valid_name(name)) + return -EINVAL; + p = strchr(name, '%'); if (p) { /* |