From: Denis V. Lunev Date: Thu, 3 Apr 2008 20:31:53 +0000 (-0700) Subject: [IPV6]: inet6_dev on loopback should be kept until namespace stop. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=eb867579311a9c1e998d6911af056772c400122a;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git [IPV6]: inet6_dev on loopback should be kept until namespace stop. In the other case it will be destroyed when last address will be removed from lo inside a namespace. This will break IPv6 in several places. The most obvious one is ip6_dst_ifdown. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller --- diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 4fa9da0be19..a65935a9afd 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2456,7 +2456,7 @@ static int addrconf_ifdown(struct net_device *dev, int how) ASSERT_RTNL(); - if (dev == init_net.loopback_dev && how == 1) + if ((dev->flags & IFF_LOOPBACK) && how == 1) how = 0; rt6_ifdown(dev);