OSDN Git Service

mptcp: do not set unconditionally csum_reqd on incoming opt
authorPaolo Abeni <pabeni@redhat.com>
Fri, 27 Aug 2021 00:44:50 +0000 (17:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Aug 2021 08:45:07 +0000 (09:45 +0100)
Should be set only if the ingress packets present it, otherwise
we can confuse csum validation.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/options.c

index bec3ed8..f012a71 100644 (file)
@@ -355,8 +355,6 @@ void mptcp_get_options(const struct sock *sk,
                       const struct sk_buff *skb,
                       struct mptcp_options_received *mp_opt)
 {
-       struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
-       struct mptcp_sock *msk = mptcp_sk(subflow->conn);
        const struct tcphdr *th = tcp_hdr(skb);
        const unsigned char *ptr;
        int length;
@@ -372,7 +370,7 @@ void mptcp_get_options(const struct sock *sk,
        mp_opt->dss = 0;
        mp_opt->mp_prio = 0;
        mp_opt->reset = 0;
-       mp_opt->csum_reqd = READ_ONCE(msk->csum_enabled);
+       mp_opt->csum_reqd = 0;
        mp_opt->deny_join_id0 = 0;
        mp_opt->mp_fail = 0;