Subject: Re: [XFRM]: Fix leak of expired xfrm_states

From: Patrick McHardy <[email-masked]>
Date: Mon, 26 Nov 2007 16:56:01 +0100

Herbert Xu wrote:
> On Mon, Nov 26, 2007 at 04:51:42PM +0100, Patrick McHardy wrote:
>> It actually won't get freed at all currently since nothing is
>> calling __xfrm_state_destroy(). __xfrm_state_delete() uses
>> __xfrm_state_put(), which only decrements the refcount, but
>> doesn't perform destruction.
>>
>> This is visible when looking at the xfrm[46]_mode_{tunnel,transport}
>> module reference counts, they climb higher and higher over time.
> 
> Oh I see.  How about just removing those double underscores then?

That should work as long as we keep the del_timer_sync to avoid
a use-after-free. It seems a bit fragile though.