Message ID | 1534662305-16734-2-git-send-email-yanhaishuang@cmss.chinamobile.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [1/2] ip_vti: fix a null pointer deferrence when create vti fallback tunnel | expand |
From: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> Date: Sun, 19 Aug 2018 15:05:05 +0800 > When set fb_tunnels_only_for_init_net to 1, don't create fallback tunnel > device for vti6 when a new namespace is created. > > Tested: > [root@builder2 ~]# modprobe ip6_tunnel > [root@builder2 ~]# modprobe ip6_vti > [root@builder2 ~]# echo 1 > /proc/sys/net/core/fb_tunnels_only_for_init_net > [root@builder2 ~]# unshare -n > [root@builder2 ~]# ip link > 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group > default qlen 1000 > link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 > > Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> Applied.
diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index c72ae3a..3b9f39f 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c @@ -1114,6 +1114,8 @@ static int __net_init vti6_init_net(struct net *net) ip6n->tnls[0] = ip6n->tnls_wc; ip6n->tnls[1] = ip6n->tnls_r_l; + if (!net_has_fallback_tunnels(net)) + return 0; err = -ENOMEM; ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6_vti0", NET_NAME_UNKNOWN, vti6_dev_setup);
When set fb_tunnels_only_for_init_net to 1, don't create fallback tunnel device for vti6 when a new namespace is created. Tested: [root@builder2 ~]# modprobe ip6_tunnel [root@builder2 ~]# modprobe ip6_vti [root@builder2 ~]# echo 1 > /proc/sys/net/core/fb_tunnels_only_for_init_net [root@builder2 ~]# unshare -n [root@builder2 ~]# ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> --- net/ipv6/ip6_vti.c | 2 ++ 1 file changed, 2 insertions(+)