]> git.baikalelectronics.ru Git - kernel.git/commit
mptcp: more DATA FIN fixes
authorPaolo Abeni <pabeni@redhat.com>
Mon, 5 Oct 2020 10:01:06 +0000 (12:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Oct 2020 13:06:59 +0000 (06:06 -0700)
commit6ddc31cc71bd2c1d8e0aa16453622d2ae786de5a
treeb2dce58e4aca37bec8b52681ebc7671f149fba95
parent428220e22d10d9d2be6fc9c4d10a942a5e9a1018
mptcp: more DATA FIN fixes

Currently data fin on data packet are not handled properly:
the 'rcv_data_fin_seq' field is interpreted as the last
sequence number carrying a valid data, but for data fin
packet with valid maps we currently store map_seq + map_len,
that is, the next value.

The 'write_seq' fields carries instead the value subseguent
to the last valid byte, so in mptcp_write_data_fin() we
never detect correctly the last DSS map.

Fixes: cad408d4c9af ("mptcp: Use MPTCP-level flag for sending DATA_FIN")
Fixes: e4a65f558b18 ("mptcp: Handle incoming 32-bit DATA_FIN values")
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/options.c
net/mptcp/subflow.c