tcp: fix retrans_out leaks
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sun, 1 Mar 2009 08:21:36 +0000 (00:21 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Mar 2009 08:21:36 +0000 (00:21 -0800)
commit9ec06ff57a9badef3b6b019f35efc6b21fc27d03
tree1a39f13a05a84aabbce39b8260283e36a9f84e61
parent709ab3261e3ed789c0bb31c6ab53c9eccb276522
tcp: fix retrans_out leaks

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.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Tested-by: Denys Fedoryshchenko <denys@visp.net.lb>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c