netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 21 Mar 2022 10:38:32 +0000 (11:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:51 +0000 (14:23 +0200)
commit6195af5ad80198d43e8ec969d06731db2368c4c3
tree2c2efedf39fe0a2a91aeb5fc0442e1d62af45b86
parent6bbfe9a715ea075114213c6c8b30dbd2adc9624d
netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options

[ Upstream commit f2dd495a8d589371289981d5ed33e6873df94ecc ]

Do not reset IP_CT_TCP_FLAG_BE_LIBERAL flag in out-of-sync scenarios
coming before the TCP window tracking, otherwise such connections will
fail in the window check.

Update tcp_options() to leave this flag in place and add a new helper
function to reset the tcp window state.

Based on patch from Sven Auhagen.

Fixes: c4832c7bbc3f ("netfilter: nf_ct_tcp: improve out-of-sync situation in TCP tracking")
Tested-by: Sven Auhagen <sven.auhagen@voleatech.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_conntrack_proto_tcp.c