From nobody Thu Sep 18 08:18:37 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ac4:a898:0:b0:4b1:af33:c52d with SMTP id z24csp636980pid; Fri, 22 Apr 2022 14:55:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwNjaFArH7gQOdjGtDnVcki/D4/8IFdjL0Bmmt15zb24bfHOK/f4ouHhpmL7PZJ8WRCjt1A X-Received: by 2002:a63:e04a:0:b0:39f:ea06:e203 with SMTP id n10-20020a63e04a000000b0039fea06e203mr5698554pgj.146.1650664557211; Fri, 22 Apr 2022 14:55:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650664557; cv=none; d=google.com; s=arc-20160816; b=I67buDufxSH/zea29Z64MnHwLUxH+hdHRmQDIV92098DmjHaAtM0+M4/EaZAlk4zSN 7petL+/udiXjSP21aCQ77nH4K7haxmDSnqYcJb4nUEcFjnFGrJsrDnbxFPawd/amBWrC dhGlsI3WqjeAH7lrde48vsQuU5X6rwuiQpACcb/V17W2C/Gkc70x+BLfSyb7HFwLMaeJ BFMOOykmzaVGshWiWTzbc1YMTRJ7x0Q0d2Xrrm1/IERjNMIyDh+XrHEdjVQRj0DmeO3P hWlshpYsYBxuy/SmVat5jz1iUw5fxXT+iLeWJt5PbwczA3A21xCf8EStyWAM9dFu6Brc /7KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=W3ia3Q+ET8mR1rIstnLO5u/S8BgvqM4VKP48uquTwK4=; b=VMmxjAo7xlkGvyJgghbuzpQl1pvlSTNpmI090e5Rjsie+ESpUWGqSYXNO96b35e7VQ TRqKMzTbfYRX/R+mRyW4ZaiO2kJU7bhtFPewKjCfAIJXGPYXb6/JvQTlRCgYVafTM0K5 gOeVKcdGFG+SWt5+iE78/dvqApsuEeYN9/iUJCJYoVpyhm/X+QKU8E9bQl6q2BwZ0Nnn Re9TZvFNd9MemrgSgL825djsktQLAEGF59rDkkW5if7yq7fOBUaQmFJGMxJ+/mbhUNkX LgnjaI+6B3K7/aebyOEA/0DwNXRtn4ATk3Phgq/v0MVQZwWvkunRg9V9PToKUIQd/+9i 7r/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OZj036Ej; spf=pass (google.com: domain of mptcp+bounces-4864-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-4864-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id m29-20020a63581d000000b003aa663f5451si9186686pgb.744.2022.04.22.14.55.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Apr 2022 14:55:57 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-4864-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OZj036Ej; spf=pass (google.com: domain of mptcp+bounces-4864-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-4864-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 997F4280BE2 for ; Fri, 22 Apr 2022 21:55:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1401C2F55; Fri, 22 Apr 2022 21:55:54 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0D3C2F59 for ; Fri, 22 Apr 2022 21:55:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650664552; x=1682200552; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KzVgAjy1MAePp7dexbri62NwjNy15/+MEAR3zH12P2U=; b=OZj036EjR1bTIETNFNmgsFvwl1oKuXWetiO22uj5FEQtxbAj/CA0Dr4f vO+kXrUFXdzd7cG+X22QkdbOjf9xkEuSHe997HxDBaLIAaukM4OEjeAsT 7DAuSWEg4JGA5Vjpl4JKLjNFA/28uJNjZjBQ8F8wJXvWc01aOZfSu8OlW /T17mBXXL4fdOD3I4MusKZEtEi+5IsnAfPKVdHCAxcJiw1pNF6NIokx0I CA9zDSrGsi0ZgFJIUAVa5cQwN32CCjwatlv79n01boLYr25lj4sZAwt9u snqw7Z6hyk4v9NSNSTe0Au9kjXjqq9xpg5SmYHfJKkUFubjO+NhugIbdl A==; X-IronPort-AV: E=McAfee;i="6400,9594,10324"; a="244720731" X-IronPort-AV: E=Sophos;i="5.90,282,1643702400"; d="scan'208";a="244720731" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2022 14:55:48 -0700 X-IronPort-AV: E=Sophos;i="5.90,282,1643702400"; d="scan'208";a="578119262" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.209.99.29]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2022 14:55:48 -0700 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 5/8] mptcp: infinite mapping receiving Date: Fri, 22 Apr 2022 14:55:40 -0700 Message-Id: <20220422215543.545732-6-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220422215543.545732-1-mathew.j.martineau@linux.intel.com> References: <20220422215543.545732-1-mathew.j.martineau@linux.intel.com> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch adds the infinite mapping receiving logic. When the infinite mapping is received, set the map_data_len of the subflow to 0. In subflow_check_data_avail(), only reset the subflow when the map_data_len of the subflow is non-zero. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- net/mptcp/subflow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 31dcb550316f..30ffb00661bb 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1006,7 +1006,9 @@ static enum mapping_status get_mapping_status(struct = sock *ssk, =20 data_len =3D mpext->data_len; if (data_len =3D=3D 0) { + pr_debug("infinite mapping received"); MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPRX); + subflow->map_data_len =3D 0; return MAPPING_INVALID; } =20 @@ -1220,7 +1222,7 @@ static bool subflow_check_data_avail(struct sock *ssk) return true; } =20 - if (subflow->mp_join || subflow->fully_established) { + if ((subflow->mp_join || subflow->fully_established) && subflow->map_dat= a_len) { /* fatal protocol error, close the socket. * subflow_error_report() will introduce the appropriate barriers */ --=20 2.36.0