Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7fa9d18 authored by David S. Miller's avatar David S. Miller
Browse files

[NET]: Disallow whitespace in network device names.



It causes way too much trouble and confusion in userspace.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d4274b51
Loading
Loading
Loading
Loading
+14 −5
Original line number Original line Diff line number Diff line
@@ -116,6 +116,7 @@
#include <linux/audit.h>
#include <linux/audit.h>
#include <linux/dmaengine.h>
#include <linux/dmaengine.h>
#include <linux/err.h>
#include <linux/err.h>
#include <linux/ctype.h>


/*
/*
 *	The list of packet types we will receive (as opposed to discard)
 *	The list of packet types we will receive (as opposed to discard)
@@ -632,14 +633,22 @@ struct net_device * dev_get_by_flags(unsigned short if_flags, unsigned short mas
 *	@name: name string
 *	@name: name string
 *
 *
 *	Network device names need to be valid file names to
 *	Network device names need to be valid file names to
 *	to allow sysfs to work
 *	to allow sysfs to work.  We also disallow any kind of
 *	whitespace.
 */
 */
int dev_valid_name(const char *name)
int dev_valid_name(const char *name)
{
{
	return !(*name == '\0' 
	if (*name == '\0')
		 || !strcmp(name, ".")
		return 0;
		 || !strcmp(name, "..")
	if (!strcmp(name, ".") || !strcmp(name, ".."))
		 || strchr(name, '/'));
		return 0;

	while (*name) {
		if (*name == '/' || isspace(*name))
			return 0;
		name++;
	}
	return 1;
}
}


/**
/**