]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitb0fc629e99088adfe647268c03ccb4b9b3cbc9d1
tree1a39f13a05a84aabbce39b8260283e36a9f84e61
parent4289762f5c5da11528bfab9001a109989ab11bbc
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