[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190222.114629.1475722353193768939.davem@davemloft.net>
Date: Fri, 22 Feb 2019 11:46:29 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: pabeni@...hat.com
Cc: netdev@...r.kernel.org, dsahern@...il.com
Subject: Re: [PATCH net v2] ipv6: route: purge exception on removal
From: Paolo Abeni <pabeni@...hat.com>
Date: Wed, 20 Feb 2019 18:18:12 +0100
> When a netdevice is unregistered, we flush the relevant exception
> via rt6_sync_down_dev() -> fib6_ifdown() -> fib6_del() -> fib6_del_route().
>
> Finally, we end-up calling rt6_remove_exception(), where we release
> the relevant dst, while we keep the references to the related fib6_info and
> dev. Such references should be released later when the dst will be
> destroyed.
>
> There are a number of caches that can keep the exception around for an
> unlimited amount of time - namely dst_cache, possibly even socket cache.
> As a result device registration may hang, as demonstrated by this script:
...
> Fixes: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst based routes")
> Signed-off-by: Paolo Abeni <pabeni@...hat.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists