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

From: Nick Bowler <[email-masked]>
Date: Tue, 21 Sep 2010 10:05:01 -0400

On 2010-09-20 23:31 +0200, Eric Dumazet wrote:
> Could you try following patch ?
>
> [PATCH] ip : fix truesize mismatch in ip fragmentation
[...]
> @@ -658,13 +657,15 @@ static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
>  				goto slow_path;
>  
>  			BUG_ON(frag->sk);
> -			if (skb->sk) {
> +		}
> +		if (skb->sk) {
> +			skb_walk_frags(skb, frag) {
>  				frag->sk = skb->sk;
>  				frag->destructor = sock_wfree;
> -				truesizes += frag->truesize;
> +				skb->truesize -= frag->truesize;
>  			}
>  		}
> -
> +				

This hunk introduces some whitespace damage.

Anyway, I tried this with ESP on both IPv4 and IPv6 and it appears to
correct the issue.  Thanks!

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