From: Yuchung Cheng <ych...@google.com>
Date: Wed, 25 Apr 2018 11:33:08 -0700

> The TCP repair sequence of operation is to first set the socket in
> repair mode, then inject the TCP stats into the socket with repair
> socket options, then call connect() to re-activate the socket. The
> connect syscall simply returns and set state to ESTABLISHED
> mode. As a result Fast Open is meaningless for TCP repair.
> 
> However allowing sendto() system call with MSG_FASTOPEN flag half-way
> during the repair operation could unexpectedly cause data to be
> sent, before the operation finishes changing the internal TCP stats
> (e.g. MSS).  This in turn triggers TCP warnings on inconsistent
> packet accounting.
> 
> The fix is to simply disallow Fast Open operation once the socket
> is in the repair mode.
> 
> Reported-by: syzbot <syzkal...@googlegroups.com>
> Signed-off-by: Yuchung Cheng <ych...@google.com>
> Reviewed-by: Neal Cardwell <ncardw...@google.com>
> Reviewed-by: Eric Dumazet <eduma...@google.com>

Applied and queued up for -stable, thanks Yuchung.

Reply via email to