On 17 Jun 2019, at 10:03, Eric Dumazet wrote:
> Some TCP peers announce a very small MSS option in their SYN and/or
> SYN/ACK messages.
>
> This forces the stack to send packets with a very high network/cpu
> overhead.
>
> Linux has enforced a minimal value of 48. Since this value includes
> the size of TCP options, and that the options can consume up to 40
> bytes, this means that each segment can include only 8 bytes of payload.
>
> In some cases, it can be useful to increase the minimal value
> to a saner value.
>
> We still let the default to 48 (TCP_MIN_SND_MSS), for compatibility
> reasons.
>
> Note that TCP_MAXSEG socket option enforces a minimal value
> of (TCP_MIN_MSS). David Miller increased this minimal value
> in commit c39508d6f118 ("tcp: Make TCP_MAXSEG minimum more correct.")
> from 64 to 88.
>
> We might in the future merge TCP_MIN_SND_MSS and TCP_MIN_MSS.
>
> CVE-2019-11479 -- tcp mss hardcoded to 48
>
> Signed-off-by: Eric Dumazet <[email protected]>
> Suggested-by: Jonathan Looney <[email protected]>
> Acked-by: Neal Cardwell <[email protected]>
> Cc: Yuchung Cheng <[email protected]>
> Cc: Tyler Hicks <[email protected]>
> Cc: Bruce Curtis <[email protected]>
> Cc: Jonathan Lemon <[email protected]>
Acked-by: Jonathan Lemon <[email protected]>