lkml.org 
[lkml]   [2021]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 35/57] net: ip6_tunnel: Unregister catch-all devices
    Date
    From: Hristo Venev <hristo@venev.name>

    commit 941ea91e87a6e879ed82dad4949f6234f2702bec upstream.

    Similarly to the sit case, we need to remove the tunnels with no
    addresses that have been moved to another network namespace.

    Fixes: 0bd8762824e73 ("ip6tnl: add x-netns support")
    Signed-off-by: Hristo Venev <hristo@venev.name>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv6/ip6_tunnel.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    --- a/net/ipv6/ip6_tunnel.c
    +++ b/net/ipv6/ip6_tunnel.c
    @@ -2222,6 +2222,16 @@ static void __net_exit ip6_tnl_destroy_t
    t = rtnl_dereference(t->next);
    }
    }
    +
    + t = rtnl_dereference(ip6n->tnls_wc[0]);
    + while (t) {
    + /* If dev is in the same netns, it has already
    + * been added to the list by the previous loop.
    + */
    + if (!net_eq(dev_net(t->dev), net))
    + unregister_netdevice_queue(t->dev, list);
    + t = rtnl_dereference(t->next);
    + }
    }

    static int __net_init ip6_tnl_init_net(struct net *net)

    \
     
     \ /
      Last update: 2021-04-26 09:47    [W:4.139 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site