mptcp: do not set unconditionally csum_reqd on incoming opt

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>
This commit is contained in:
Paolo Abeni 2021-08-26 17:44:50 -07:00 коммит произвёл David S. Miller
Родитель 3aa7857fe1
Коммит 8d548ea1dd
1 изменённых файлов: 1 добавлений и 3 удалений

Просмотреть файл

@ -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;