• Paolo Abeni's avatar
    mptcp: fix active subflow finalization · 55b47ca7
    Paolo Abeni authored
    Active subflow are inserted into the connection list at creation time.
    When the MPJ handshake completes successfully, a new subflow creation
    netlink event is generated correctly, but the current code wrongly
    avoid initializing a couple of subflow data.
    
    The above will cause misbehavior on a few exceptional events: unneeded
    mptcp-level retransmission on msk-level sequence wrap-around and infinite
    mapping fallback even when a MPJ socket is present.
    
    Address the issue factoring out the needed initialization in a new helper
    and invoking the latter from __mptcp_finish_join() time for passive
    subflow and from mptcp_finish_join() for active ones.
    
    Fixes: 0530020a ("mptcp: track and update contiguous data status")
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    55b47ca7
protocol.c 101 KB