Subject: Re: Regression, bisected: reference leak with IPSec since ~2.6.31

From: Nick Bowler <[email-masked]>
Date: Mon, 20 Sep 2010 17:23:04 -0400

On 2010-09-20 13:00 -0700, David Miller wrote:
> From: Nick Bowler <[email-masked]>
> > The long answer, however, is interesting: With latest Linus' git, the
> > references are cleaned up much later than I would expect.
[...]
> This is because we actually cache IPSEC routes correctly, previously
> we'd create a new routing cache entry every time a lookup happened.

But this means that the SAs, including their cryptographic keys, are
kept in memory indefinitely after the SAD/SPD entries are destroyed.
Why aren't the cache entries invalidated when this occurs?

This also makes it extremely difficult to unload the xfrm modules,
something we often need to do during testing, as references to them
are held indefinitely.

-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)