mptcp: fix corrupt receiver key in MPC + data + checksum
authorDavide Caratti <dcaratti@redhat.com>
Wed, 27 Oct 2021 20:38:55 +0000 (13:38 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Oct 2021 15:19:06 +0000 (08:19 -0700)
commitf7cc8890f30d3ddc785e2b2ddc647da5b4b3c3ec
tree83248bc42bc8855b00261f9ddd5f02eee2e6924f
parent27de809a3d83a6199664479ebb19712533d6fd9b
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>
include/net/mptcp.h
net/mptcp/options.c