aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/rustdoc_test_gen.rs
diff options
context:
space:
mode:
authorArthur Mongodin <[email protected]>2025-03-14 20:11:31 +0000
committerPaolo Abeni <[email protected]>2025-03-20 14:12:22 +0000
commit2c1f97a52cb827a5f2768e67a9dddffae1ed47ab (patch)
treea045b60c84954b0a8ffb630f4b008d23a5123356 /scripts/rustdoc_test_gen.rs
parentMerge branch 'net-fix-lwtunnel-reentry-loops' (diff)
downloadkernel-2c1f97a52cb827a5f2768e67a9dddffae1ed47ab.tar.gz
kernel-2c1f97a52cb827a5f2768e67a9dddffae1ed47ab.zip
mptcp: Fix data stream corruption in the address announcement
Because of the size restriction in the TCP options space, the MPTCP ADD_ADDR option is exclusive and cannot be sent with other MPTCP ones. For this reason, in the linked mptcp_out_options structure, group of fields linked to different options are part of the same union. There is a case where the mptcp_pm_add_addr_signal() function can modify opts->addr, but not ended up sending an ADD_ADDR. Later on, back in mptcp_established_options, other options will be sent, but with unexpected data written in other fields due to the union, e.g. in opts->ext_copy. This could lead to a data stream corruption in the next packet. Using an intermediate variable, prevents from corrupting previously established DSS option. The assignment of the ADD_ADDR option parameters is now done once we are sure this ADD_ADDR option can be set in the packet, e.g. after having dropped other suboptions. Fixes: 1bff1e43a30e ("mptcp: optimize out option generation") Cc: [email protected] Suggested-by: Paolo Abeni <[email protected]> Signed-off-by: Arthur Mongodin <[email protected]> Reviewed-by: Matthieu Baerts (NGI0) <[email protected]> [ Matt: the commit message has been updated: long lines splits and some clarifications. ] Signed-off-by: Matthieu Baerts (NGI0) <[email protected]> Reviewed-by: Simon Horman <[email protected]> Link: https://patch.msgid.link/20250314-net-mptcp-fix-data-stream-corr-sockopt-v1-1-122dbb249db3@kernel.org Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'scripts/rustdoc_test_gen.rs')
0 files changed, 0 insertions, 0 deletions