diff options
| author | Eric Dumazet <[email protected]> | 2017-11-03 01:10:03 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2017-11-03 07:02:56 +0000 |
| commit | f67971e683e81d7ba4739728511ae6e52a1b6321 (patch) | |
| tree | c960635bc9e1813044d72d838df112acc04fc9b2 /lib/dynamic_queue_limits.c | |
| parent | mISDN: hfcpci: Convert timers to use timer_setup() (diff) | |
| download | kernel-f67971e683e81d7ba4739728511ae6e52a1b6321.tar.gz kernel-f67971e683e81d7ba4739728511ae6e52a1b6321.zip | |
tcp: tcp_fragment() should not assume rtx skbs
While stress testing MTU probing, we had crashes in list_del() that we root-caused
to the fact that tcp_fragment() is unconditionally inserting the freshly allocated
skb into tsorted_sent_queue list.
But this list is supposed to contain skbs that were sent.
This was mostly harmless until MTU probing was enabled.
Fortunately we can use the tcp_queue enum added later (but in same linux version)
for rtx-rb-tree to fix the bug.
Fixes: e2080072ed2d ("tcp: new list for sent but unacked skbs for RACK recovery")
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Yuchung Cheng <[email protected]>
Cc: Neal Cardwell <[email protected]>
Cc: Soheil Hassas Yeganeh <[email protected]>
Cc: Alexei Starovoitov <[email protected]>
Cc: Priyaranjan Jha <[email protected]>
Acked-by: Neal Cardwell <[email protected]>
Acked-by: Soheil Hassas Yeganeh <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'lib/dynamic_queue_limits.c')
0 files changed, 0 insertions, 0 deletions
