[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090221.235724.207966342.davem@davemloft.net>
Date: Sat, 21 Feb 2009 23:57:24 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: denys@...p.net.lb, netdev@...r.kernel.org
Subject: Re: 2.6.29-rc5-git3 Leak r=1 3
From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi>
Date: Sat, 21 Feb 2009 13:44:27 +0200 (EET)
> [PATCH] tcp: fix retrans_out leaks in shifting code
>
> There's conflicting assumptions in shifting, the caller assumes
> that dupsack results in S'ed skbs (or a part of it) for sure but
> never gave a hint to tcp_sacktag_one when dsack is actually in
> use. Thus DSACK retrans_out -= pcount was not taken and the
> counter became out of sync. Remove obstacle from that information
> flow to get DSACKs accounted in tcp_sacktag_one as expected.
>
> Compile tested only.
>
> In general the call to tcp_sacktag_one with the later full shift
> from already SACKed skb should not be there, it's just doing
> duplicating work already done earlier so it just wastes cycles and
> also seems to duplicate small amount of code unnecessarily :-/.
> However, moving tcp_sacktag_one call one level up is not what I want
> to do in mainline -rc5, the counting & seqno state manipulation that
> is going on there is just too hairy to get right in a hurry (order
> is very significant there as the state transition is in progress
> making normal invariants are not to be trusted). Luckily
> tcp_sacktag_one is effectively a no-op atm with dup_sack set to 0
> for already SACKed skb.
>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
Can you do some testing on this before I toss it into
net-next-2.6? :-) It looks fine to be, but... so did
Herbert's URG change :)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists