]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.15.17/vti6-better-validate-user-provided-tunnel-names.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 4.15.17 / vti6-better-validate-user-provided-tunnel-names.patch
1 From foo@baz Tue Apr 10 23:19:36 CEST 2018
2 From: Eric Dumazet <edumazet@google.com>
3 Date: Thu, 5 Apr 2018 06:39:31 -0700
4 Subject: vti6: better validate user provided tunnel names
5
6 From: Eric Dumazet <edumazet@google.com>
7
8
9 [ Upstream commit 537b361fbcbcc3cd6fe2bb47069fd292b9256d16 ]
10
11 Use valid_name() to make sure user does not provide illegal
12 device name.
13
14 Fixes: ed1efb2aefbb ("ipv6: Add support for IPsec virtual tunnel interfaces")
15 Signed-off-by: Eric Dumazet <edumazet@google.com>
16 Cc: Steffen Klassert <steffen.klassert@secunet.com>
17 Signed-off-by: David S. Miller <davem@davemloft.net>
18 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 ---
20 net/ipv6/ip6_vti.c | 7 +++++--
21 1 file changed, 5 insertions(+), 2 deletions(-)
22
23 --- a/net/ipv6/ip6_vti.c
24 +++ b/net/ipv6/ip6_vti.c
25 @@ -212,10 +212,13 @@ static struct ip6_tnl *vti6_tnl_create(s
26 char name[IFNAMSIZ];
27 int err;
28
29 - if (p->name[0])
30 + if (p->name[0]) {
31 + if (!dev_valid_name(p->name))
32 + goto failed;
33 strlcpy(name, p->name, IFNAMSIZ);
34 - else
35 + } else {
36 sprintf(name, "ip6_vti%%d");
37 + }
38
39 dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, vti6_dev_setup);
40 if (!dev)