diff options
author | Eric Dumazet <edumazet@google.com> | 2012-04-18 14:14:23 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-19 00:52:45 +0400 |
commit | 22b4a4f22da4b39c6f7f679fd35f3d35c91bf851 (patch) | |
tree | 6cd9d5d169384e39c030e18f75c1b1e0d792e5bd /net/ipv6/exthdrs_core.c | |
parent | 56fa9b16303b0a3bad88ff528c4d5ff54d8cdb47 (diff) | |
download | linux-22b4a4f22da4b39c6f7f679fd35f3d35c91bf851.tar.xz |
tcp: fix retransmit of partially acked frames
Alexander Beregalov reported skb_over_panic errors and provided stack
trace.
I occurs commit a21d45726aca (tcp: avoid order-1 allocations on wifi and
tx path) added a regression, when a retransmit is done after a partial
ACK.
tcp_retransmit_skb() tries to aggregate several frames if the first one
has enough available room to hold the following ones payload. This is
controlled by /proc/sys/net/ipv4/tcp_retrans_collapse tunable (default :
enabled)
Problem is we must make sure _pskb_trim_head() doesnt fool
skb_availroom() when pulling some bytes from skb (this pull is done when
receiver ACK part of the frame).
Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Cc: Marc MERLIN <marc@merlins.org>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/exthdrs_core.c')
0 files changed, 0 insertions, 0 deletions