From: Yuchung Cheng <ych...@google.com> Date: Tue, 7 Nov 2017 15:33:43 -0800
> This patch fixes the cause of an WARNING indicatng TCP has pending > retransmission in Open state in tcp_fastretrans_alert(). > > The root cause is a bad interaction between path mtu probing, > if enabled, and the RACK loss detection. Upong receiving a SACK > above the sequence of the MTU probing packet, RACK could mark the > probe packet lost in tcp_fastretrans_alert(), prior to calling > tcp_simple_retransmit(). > > tcp_simple_retransmit() only enters Loss state if it newly marks > the probe packet lost. If the probe packet is already identified as > lost by RACK, the sender remains in Open state with some packets > marked lost and retransmitted. Then the next SACK would trigger > the warning. The likely scenario is that the probe packet was > lost due to its size or network congestion. The actual impact of > this warning is small by potentially entering fast recovery an > ACK later. > > The simple fix is always entering recovery (Loss) state if some > packet is marked lost during path MTU probing. > > Fixes: a0370b3f3f2c ("tcp: enable RACK loss detection to trigger recovery") > Reported-by: Oleksandr Natalenko <oleksa...@natalenko.name> > Reported-by: Alexei Starovoitov <alexei.starovoi...@gmail.com> > Reported-by: Roman Gushchin <g...@fb.com> > Signed-off-by: Yuchung Cheng <ych...@google.com> > Reviewed-by: Eric Dumazet <eduma...@google.com> > Acked-by: Neal Cardwell <ncardw...@google.com> Applied and queued up for -stable, thank you.