From nobody Sat Apr 20 05:12:43 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:590e:0:0:0:0:0 with SMTP id n14csp659934uad; Fri, 8 Jul 2022 16:36:28 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vEOoykf0fvrZ+DfCJqTCmqMb5sdnlDykOtcNlZ59Nc0AAXyb66XQ+tnP8Cch5MrNLVFTEK X-Received: by 2002:a05:620a:31a0:b0:6af:2b11:fe0d with SMTP id bi32-20020a05620a31a000b006af2b11fe0dmr4274157qkb.480.1657323388040; Fri, 08 Jul 2022 16:36:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657323388; cv=none; d=google.com; s=arc-20160816; b=efu2wE15hclBFhwFFCUHYuxQkuDFU/hXgsZhQFkBW1gzpdX0bZ92WyBxtXY/IvTdSM ham3NpNH9KIBwI8mbp8ePz2I7hj/0PIr9varOAYKftDBgyE32PdkZbu1xd2JDwi0pLlZ b/WcBh4qMkupn+RKsNMBFx+Tyox5cJnrSpfvlGzrAABVzuNmppizxd2ODEI20PlvH+cQ rdABsbALtxPN/pnAu16rMgMayRCM1b7gBYEoPORLDgLFFGaSAtaXlejInVu7v4L/5CG8 trcr6tllN/RemuNasiyq1M/YnaALhTAagw0WzJ2WVc0s3H4j7dyn/CRJbSg5YCRVp2An OvqQ== 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=3yvjO/evbmxNMxQ85o95kgtMj3M5wpVTgUKostB+FfY=; b=fGxX/mWEL72ALDp0zIQ/BZKJS8zSx7ywCuIaXnhdy49HlPUJzjAPyVPjJdiQJm7qUS HM45c1BJbOFea+v4c1szEzVC6YLwHzaV0XVaqys9xRK2veOkfWrkT3vm3hiGHESkDC99 U2vQf3aDsNJfzARBzpaTsqPcfpAhv4c7ygTiOtELvtGMmonhvRp/W29gguYECfPK9EDW WL/9GLkk0zcPCpnp7eGzuiaxnA45h/gdZCiJJhIakFV22zqvwjafBTBVZVh5OERc0sUO NPiU80qGjyQIW+ao1nxzFLbx1MF8mjiDoImn8J10/2mJOQgDXLpx0TCllJo3efhNmJk7 9aLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YF6Jpv2H; spf=pass (google.com: domain of mptcp+bounces-5993-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.199.223 as permitted sender) smtp.mailfrom="mptcp+bounces-5993-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id jr6-20020a0562142a8600b0046b91d1a174si25973304qvb.348.2022.07.08.16.36.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Jul 2022 16:36:28 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5993-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YF6Jpv2H; spf=pass (google.com: domain of mptcp+bounces-5993-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.199.223 as permitted sender) smtp.mailfrom="mptcp+bounces-5993-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 ny.mirrors.kernel.org (Postfix) with ESMTPS id C78511C2090E for ; Fri, 8 Jul 2022 23:36:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 72CCA4C74; Fri, 8 Jul 2022 23:36:26 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 5D5304C75 for ; Fri, 8 Jul 2022 23:36:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657323385; x=1688859385; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cNc661S3iimevezDyva1ssvcfT/UsrE7h/xgcUHLZHg=; b=YF6Jpv2H2EJUym54CaRfsX3uoWL5VZw1KN3fSHi5KjJmjCJNkALohr5K uGBpAoYYbdJCGZYU/MrdsDRcJAH8U5fMBWvNhSioEv2QESX4VilHrcDzY 9jxekxTbyvJtCYDiQMYeJC/llcoEs0i1fd5CLLD9xImS0sSR5axddR46P uDp/Qxa6GRFWAXCyyPyA/79EDUqRmwTRtTx+jMcDVAXU8rvLwelt6leCf z5Vi7QEIlbZD+Px1tx5h1LEvg9vmWpNqLlFVKUGGw+sKVgcpyEDBTSJet mMH9ftZOYkbvPCd0LERik4ebwwO5FqcL6UskdXo6cFAKTJqAFvKh4Jyhr Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10402"; a="348372259" X-IronPort-AV: E=Sophos;i="5.92,256,1650956400"; d="scan'208";a="348372259" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2022 16:36:14 -0700 X-IronPort-AV: E=Sophos;i="5.92,256,1650956400"; d="scan'208";a="770933079" Received: from aroras-mobl.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.209.1.203]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2022 16:36:14 -0700 From: Mat Martineau To: netdev@vger.kernel.org Cc: Paolo Abeni , davem@davemloft.net, kuba@kernel.org, edumazet@google.com, kishen.maloor@intel.com, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, van fantasy , Mat Martineau Subject: [PATCH net 1/2] mptcp: fix subflow traversal at disconnect time Date: Fri, 8 Jul 2022 16:36:09 -0700 Message-Id: <20220708233610.410786-2-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.37.0 In-Reply-To: <20220708233610.410786-1-mathew.j.martineau@linux.intel.com> References: <20220708233610.410786-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: Paolo Abeni At disconnect time the MPTCP protocol traverse the subflows list closing each of them. In some circumstances - MPJ subflow, passive MPTCP socket, the latter operation can remove the subflow from the list, invalidating the current iterator. Address the issue using the safe list traversing helper variant. Reported-by: van fantasy Fixes: b29fcfb54cd7 ("mptcp: full disconnect implementation") Tested-by: Matthieu Baerts Reviewed-by: Mat Martineau Signed-off-by: Paolo Abeni Signed-off-by: Mat Martineau --- net/mptcp/protocol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index cc21fafd9726..21a3ed64226e 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2919,12 +2919,12 @@ static void mptcp_copy_inaddrs(struct sock *msk, co= nst struct sock *ssk) =20 static int mptcp_disconnect(struct sock *sk, int flags) { - struct mptcp_subflow_context *subflow; + struct mptcp_subflow_context *subflow, *tmp; struct mptcp_sock *msk =3D mptcp_sk(sk); =20 inet_sk_state_store(sk, TCP_CLOSE); =20 - mptcp_for_each_subflow(msk, subflow) { + list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); =20 __mptcp_close_ssk(sk, ssk, subflow, MPTCP_CF_FASTCLOSE); --=20 2.37.0 From nobody Sat Apr 20 05:12:43 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:590e:0:0:0:0:0 with SMTP id n14csp659929uad; Fri, 8 Jul 2022 16:36:26 -0700 (PDT) X-Google-Smtp-Source: AGRyM1se5bu+5hRw3S14yKlLmTA0i7UFDOapV0J/vdaue+thDkDIDCqXnWtNQVLlU97zIt/6vW3t X-Received: by 2002:a17:90b:3b52:b0:1ec:db2a:b946 with SMTP id ot18-20020a17090b3b5200b001ecdb2ab946mr2536223pjb.229.1657323386566; Fri, 08 Jul 2022 16:36:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657323386; cv=none; d=google.com; s=arc-20160816; b=li/CAYgyFaN52Y0C+FlILzp3LiGFfiPS5oh04d03hrQTLTJM/ndUhlnOmWxj6wDfFG 7jwTS2cVvZeh6a8smGdCc5++i5Z7Q4L3kv2NAJD2ohSTgdBp/ts61/EU+OQT3wwxO9eo aU4b4+phEYdp3skd7MueI72tabSM2RCMlWgRmP+mwHVranRO6WdTXi23nkBzp9zftQ6D KkY59V83ge/1TlrIC4n8LNmJXnYM9OCZ6SwHv9A7rFQZNBz3lzw/ckzKvne+ZAoqjyhf Uw0tYQhJJHxnrGAJQsZIbF0wwZBq9u+NSH1TvVjtGchAfZILajZ8uh15f2nmYxwK9B3e CekA== 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=nyy4t1+JAMlAx/XSstYa9XS88LGcN0Wrf/EBDRtQCHA=; b=oqwjmhdJrbSQhj9gf6/OeesbK0Yhw4Rccb83/5tUOxZDJEMHyz9O5DXSlsnOwNPQe7 2rYRqKnGaNKWUQUvNP+s9GYAPpU9SDyd84oBlUXG7js7XWGBXWPE0Jl6eWIxa2k74pWU BOWXGO5BuLXcyPFuf1T/5XpA5KxddvVXHwP5QT4877Mpb3oQH7U68RkX/mtKNOQhnHVo zqzJGfqczea/TpzSjoD7TcfIrvI8O4ISoV0Yk1wAYmjKKNnBDJNWmBwdvMb9/Bsiqd5f Fn0Jrl+qEC8pUx1sgJnoQvmWCqxtkZGIHBNuz9IWgupZUK6774eEoB8iw2XvSb/F3i/I IBrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=c4TpUCI1; spf=pass (google.com: domain of mptcp+bounces-5992-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5992-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 p1-20020a170902bd0100b00164db3d3ae3si269299pls.321.2022.07.08.16.36.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Jul 2022 16:36:26 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5992-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=c4TpUCI1; spf=pass (google.com: domain of mptcp+bounces-5992-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5992-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 4F187280ABE for ; Fri, 8 Jul 2022 23:36:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2789E4C72; Fri, 8 Jul 2022 23:36:25 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 01C754C75 for ; Fri, 8 Jul 2022 23:36:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657323383; x=1688859383; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=mLtbgDckIbKax2TRKG/sQfPD3NEQ0gRiAtYmyp8RjqY=; b=c4TpUCI1S3W9O/oT/hb/D1gLQufqJe1b9YYUgINHRQw/tjcJp53UtRoS z0Zep95FQ2jUDpGiuG0Z1reCerG8jKKTKlkSGBvC+zLxVbt+koBd0zTjm e2PUIXxXNLiuHz6a14d6XeBTX5HafFpC3XaFX9v/wgSUwM+ICYW3+X1xv HH9raJBzuCryKyWGM4cOZDkMCtdtIWWlh4Xr1UxCG6nl6qoqLSf7RuMU3 MqZ9v96G7iiPMwmHfoeCRR+TvznKROIVAD6Z06Eb8UGNw1gyW9pILI+dz irSvIad/UdsXddn9tCh3Hj0LB30ofypHpTpqod256UN4SBzMlVX7EzjYV Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10402"; a="348372260" X-IronPort-AV: E=Sophos;i="5.92,256,1650956400"; d="scan'208";a="348372260" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2022 16:36:14 -0700 X-IronPort-AV: E=Sophos;i="5.92,256,1650956400"; d="scan'208";a="770933082" Received: from aroras-mobl.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.209.1.203]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2022 16:36:14 -0700 From: Mat Martineau To: netdev@vger.kernel.org Cc: Matthieu Baerts , davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, edumazet@google.com, kishen.maloor@intel.com, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net 2/2] selftests: mptcp: validate userspace PM tests by default Date: Fri, 8 Jul 2022 16:36:10 -0700 Message-Id: <20220708233610.410786-3-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.37.0 In-Reply-To: <20220708233610.410786-1-mathew.j.martineau@linux.intel.com> References: <20220708233610.410786-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: Matthieu Baerts The new script was not listed in the programs to test. By consequence, some CIs running MPTCP selftests were not validating these new tests. Note that MPTCP CI was validating it as it executes all .sh scripts from 'tools/testing/selftests/net/mptcp' directory. Fixes: 259a834fadda ("selftests: mptcp: functional tests for the userspace = PM type") Reported-by: Jakub Kicinski Reviewed-by: Mat Martineau Signed-off-by: Matthieu Baerts Signed-off-by: Mat Martineau --- tools/testing/selftests/net/mptcp/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/sel= ftests/net/mptcp/Makefile index f905d5358e68..48a99e1453e1 100644 --- a/tools/testing/selftests/net/mptcp/Makefile +++ b/tools/testing/selftests/net/mptcp/Makefile @@ -6,7 +6,7 @@ KSFT_KHDR_INSTALL :=3D 1 CFLAGS =3D -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(= KHDR_INCLUDES) =20 TEST_PROGS :=3D mptcp_connect.sh pm_netlink.sh mptcp_join.sh diag.sh \ - simult_flows.sh mptcp_sockopt.sh + simult_flows.sh mptcp_sockopt.sh userspace_pm.sh =20 TEST_GEN_FILES =3D mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq =20 --=20 2.37.0