]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: fool proof dev_valid_name()
authorEric Dumazet <edumazet@google.com>
Thu, 5 Apr 2018 13:39:26 +0000 (06:39 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Apr 2018 17:52:24 +0000 (19:52 +0200)
[ Upstream commit a9d48205d0aedda021fc3728972a9e9934c2b9de ]

We want to use dev_valid_name() to validate tunnel names,
so better use strnlen(name, IFNAMSIZ) than strlen(name) to make
sure to not upset KASAN.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/core/dev.c

index fd8894b8621dcf0ed818af54b0f18571d0851af7..8bd1e4973d8fc8ca6acddc6b71f40c5fe8606bfa 100644 (file)
@@ -937,7 +937,7 @@ bool dev_valid_name(const char *name)
 {
        if (*name == '\0')
                return false;
-       if (strlen(name) >= IFNAMSIZ)
+       if (strnlen(name, IFNAMSIZ) == IFNAMSIZ)
                return false;
        if (!strcmp(name, ".") || !strcmp(name, ".."))
                return false;