diff options
author | Davide Caratti <dcaratti@redhat.com> | 2021-10-27 23:38:55 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-10-28 18:19:06 +0300 |
commit | f7cc8890f30d3ddc785e2b2ddc647da5b4b3c3ec (patch) | |
tree | 83248bc42bc8855b00261f9ddd5f02eee2e6924f /include/net | |
parent | 27de809a3d83a6199664479ebb19712533d6fd9b (diff) | |
download | linux-f7cc8890f30d3ddc785e2b2ddc647da5b4b3c3ec.tar.xz |
mptcp: fix corrupt receiver key in MPC + data + checksum
using packetdrill it's possible to observe that the receiver key contains
random values when clients transmit MP_CAPABLE with data and checksum (as
specified in RFC8684 ยง3.1). Fix the layout of mptcp_out_options, to avoid
using the skb extension copy when writing the MP_CAPABLE sub-option.
Fixes: d7b269083786 ("mptcp: shrink mptcp_out_options struct")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/233
Reported-by: Poorva Sonparote <psonparo@redhat.com>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Link: https://lore.kernel.org/r/20211027203855.264600-1-mathew.j.martineau@linux.intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/mptcp.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 6026bbefbffd..3214848402ec 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -69,6 +69,10 @@ struct mptcp_out_options { struct { u64 sndr_key; u64 rcvr_key; + u64 data_seq; + u32 subflow_seq; + u16 data_len; + __sum16 csum; }; struct { struct mptcp_addr_info addr; |