From nobody Tue Feb 10 01:30:29 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:32da:0:0:0:0:0 with SMTP id f26csp1632601uao; Tue, 6 Sep 2022 13:56:39 -0700 (PDT) X-Google-Smtp-Source: AA6agR5ubyVCbHm7RYHKWY7jJbrRSqsc6A9Olu50BcZxN0fckcgWaiwlgiKLfMjr2Xoelw+lGY/H X-Received: by 2002:a17:902:e844:b0:16f:9d2:f4ff with SMTP id t4-20020a170902e84400b0016f09d2f4ffmr484637plg.27.1662497799069; Tue, 06 Sep 2022 13:56:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662497799; cv=none; d=google.com; s=arc-20160816; b=XJGoIzuliXR3CJrFZXdHKj8a9sNcK+IgflaXz5PS2XRLX8DXf6p9/hHzHcK1EWFB16 P9aHInIBWQ/WXou5qCHGGLuh4e171uyA2++ovmdj8o9Dj8hbGk10CD5VKW0dtVR7g7G5 m9b9qmrWBcDJpGKOKOHHet6MIN6tEnkDU1JRvwkhyTOwAdfvjwnUYulqsUjrZ+RvzY0x Z5cMOnaPTt109jxE7tfmitPzLKTk3zQYvQaCDnbwxtoOw4lS5Nh1PPMk3FtcGMqryG1J gAp1QHOd4W3wIMtUbN1rm+JUs0BZV9bETfbXyujdAAHRoN7F5PuU5FgBezFPMztnYtq8 p8SA== 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=Bzx+cD7xk0ffAd/x0upRKnsqyh6CtsmmDF1m6ENUxaM=; b=miFw14eIvcb8Vk+M9y5AGBZdBoiTPYjJK3d+Hxk9WKn87eOx0Rd6yDsJ3PFdJy4uub S8/L9B+/XnTsIz0J7EXPVJb9BF9JpUcFRSs0UhDBtmxqs6mpl1E2wGWzl16nMXQ1zpku tsQDkFskRSLH2jiJ2aV+PbVHmlsq1qRfqLGlN5TQ23zOugJ5mZkhnVAY/uUe17enDQub CCGJwYht8WDTTHsYAC3I98GPUV8IC2fiDaEv8J4GCA36UbtmdnDwyKatSNxlOLw3PJVX gQ9ERb0P+6TZ+89/6NEw/x+/gqXVvwtOmb+iH4tzE+HOr2FUt8mqKTkyOaZEnxyKldeK 4vqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tessares.net header.s=google header.b=IpNFDVAB; spf=pass (google.com: domain of mptcp+bounces-6200-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-6200-wpasupplicant.patchew=gmail.com@lists.linux.dev" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id m14-20020a63ed4e000000b00429ee0682b5si10136173pgk.404.2022.09.06.13.56.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Sep 2022 13:56:39 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-6200-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=@tessares.net header.s=google header.b=IpNFDVAB; spf=pass (google.com: domain of mptcp+bounces-6200-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-6200-wpasupplicant.patchew=gmail.com@lists.linux.dev" 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 8D15E280C1C for ; Tue, 6 Sep 2022 20:56:38 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DA34286EF; Tue, 6 Sep 2022 20:56:37 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 087192F4E for ; Tue, 6 Sep 2022 20:56:35 +0000 (UTC) Received: by mail-wr1-f42.google.com with SMTP id bj14so3976388wrb.12 for ; Tue, 06 Sep 2022 13:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=Bzx+cD7xk0ffAd/x0upRKnsqyh6CtsmmDF1m6ENUxaM=; b=IpNFDVABVsbGTVL4O05HzyVsipCk56tBqMmYN3RVWBY3xdRsLjzWYVOwhOfY9EnSZT 2u6617ukv5IOnBEqJWzwq3qWtdkSd/UefYW5LT7pf8Pb9FnttIfbc7hN+l2hJTFbTxsi MzeVctChyR3S7W4U8ap5yYKknGIlYYCBVwPpXmEU6Dxg76CZYZCe3rzUiimvmpVdRAt5 F0OOfxq11cQbdnydVLNpF/LHbdKu0RFzlfyNoZgxyJEnGen843AmYW70oKP3raLZQuWX x4Tuog8sPIgh2DtJpdk/YIwCNRnD32OGNUierc4TXMqmmnTAJ8xT4/Zmrwlh80pH71j8 46nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=Bzx+cD7xk0ffAd/x0upRKnsqyh6CtsmmDF1m6ENUxaM=; b=6zX4XMNIPWsNRvqZ8l6Vl1tI6yuAZOLTwKYmEYb8JhWYW67dEL8GzPIIqZh8iir4KB OGL0RXeUxnKB2bqpV5DpYW0nLsAaWH4xy/wmdIDy2U1Fgy9x+jT8M5x65WqI+jwl/Eau W/hH/kBZyrHVgwJf18UFBl/XYGEFXxXdAE5hLFpZmIVlNhhf1UzrykinMPgJcZMmC5Tx z0GFm3GGqdgmxbVrv/dlhk51aS2Hr2avhQIApqKIqN2wU1mHbPpzZbZCYeh08/FqnUKa P6jGALvKFttikGYisGIANfGm7wJsYkoVHYFeIrDzxc3rMJ6u5ExFzwILM8ppt842TQjV JI6A== X-Gm-Message-State: ACgBeo3kRoYMyTyh70iSNO4tnLFUOUTp1WFaczqoe5gR1KX5lNUaYcgS C/RJn5F2Obnsx8kU1bcSCK3qgA== X-Received: by 2002:adf:f4cc:0:b0:228:ab76:fa13 with SMTP id h12-20020adff4cc000000b00228ab76fa13mr176515wrp.110.1662497794138; Tue, 06 Sep 2022 13:56:34 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id n24-20020a1c7218000000b003a317ee3036sm15735887wmc.2.2022.09.06.13.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 13:56:32 -0700 (PDT) From: Matthieu Baerts To: Mat Martineau , Matthieu Baerts , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH net-next 1/5] mptcp: add mptcp_for_each_subflow_safe helper Date: Tue, 6 Sep 2022 22:55:39 +0200 Message-Id: <20220906205545.1623193-2-matthieu.baerts@tessares.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220906205545.1623193-1-matthieu.baerts@tessares.net> References: <20220906205545.1623193-1-matthieu.baerts@tessares.net> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2778; i=matthieu.baerts@tessares.net; h=from:subject; bh=FzIWMWFonpoxcP1L4R9vUfT0ariFVPfRrgBWzxMq3A4=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBjF7O5M9GDs9tE3T0u9pD8nPu9iCoCtaH4vovheHBF 6ifLOcqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCYxezuQAKCRD2t4JPQmmgc0PGEA Cuipi8+Slnngy8VjGZnlG7dgxNZ+n1VE6WdfroG8gP/pqr5CVioCmHKwKK2n3nJPcAnE9QYxjRYPoT 0a9K/XAJCqFm59av5uXcrYab0mgVvl6SgSXB+tDXGoQb9mRYhAdHrzdd/n+O/jqfMZgHYANCtKr2Mp UMf751iAQvZAFC1cpsNrb1i9ZsQKatBdAaV6plI+lY+j71zsCURB+T9gk6rRK8znxndk27+49n9tfR 9j8cbZmDXH0StxbDzyH63j3drLOD0+g3z9gCUJyicE4bXLI24QzpRsvOZ+yGThXVodkVLkyqCd+fTT WADc8jbnAr/C9MlGDB1u951ZsZK7A9PkU2br47vXIAif5DJYMHlug+EpVFubBJGwQqOQNbxyD4kdvF EZhE5ehr5flBZztz0+w2tGI/oDoQ+PAd5XZo3Gi04GkZprbrxEPNj/mLRsa0/M2qRBEG+6ZO72bLra FrK6KLtLgoHKR2KqJWlw2j8M8xOIFNtRca4XNYjtYtTLt8LSj4AM0+gdsljC3fQAiNOMi2HB2MIOAS OukMMjwwYjO9YUW6hZxnP03n/sRsrTSUTQa41PCh5TztOxh+7wZ2ArR+XKUubBc3gsOUR2IIHXN8be nAqEEWQALEwYLirGj7hvv9q/PKSVGnC/Rk9D6uGmRhNJrZQUl58e+RpeKU+w== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Similar to mptcp_for_each_subflow(): this is clearer now that the _safe version is used in multiple places. Reviewed-by: Mat Martineau Signed-off-by: Matthieu Baerts --- net/mptcp/pm_netlink.c | 2 +- net/mptcp/protocol.c | 6 +++--- net/mptcp/protocol.h | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index a3e4ee7af0ee..5e142c0c597a 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -796,7 +796,7 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp= _sock *msk, u8 rm_id =3D rm_list->ids[i]; bool removed =3D false; =20 - list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) { + mptcp_for_each_subflow_safe(msk, subflow, tmp) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); int how =3D RCV_SHUTDOWN | SEND_SHUTDOWN; u8 id =3D subflow->local_id; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index d398f3810662..fc782d693eaf 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2357,7 +2357,7 @@ static void __mptcp_close_subflow(struct mptcp_sock *= msk) =20 might_sleep(); =20 - list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) { + mptcp_for_each_subflow_safe(msk, subflow, tmp) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); =20 if (inet_sk_state_load(ssk) !=3D TCP_CLOSE) @@ -2400,7 +2400,7 @@ static void mptcp_check_fastclose(struct mptcp_sock *= msk) =20 mptcp_token_destroy(msk); =20 - list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) { + mptcp_for_each_subflow_safe(msk, subflow, tmp) { struct sock *tcp_sk =3D mptcp_subflow_tcp_sock(subflow); bool slow; =20 @@ -3047,7 +3047,7 @@ void mptcp_destroy_common(struct mptcp_sock *msk, uns= igned int flags) __mptcp_clear_xmit(sk); =20 /* join list will be eventually flushed (with rst) at sock lock release t= ime */ - list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) + mptcp_for_each_subflow_safe(msk, subflow, tmp) __mptcp_close_ssk(sk, mptcp_subflow_tcp_sock(subflow), subflow, flags); =20 /* move to sk_receive_queue, sk_stream_kill_queues will purge it */ diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 132d50833df1..c1b12318535d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -314,6 +314,8 @@ struct mptcp_sock { =20 #define mptcp_for_each_subflow(__msk, __subflow) \ list_for_each_entry(__subflow, &((__msk)->conn_list), node) +#define mptcp_for_each_subflow_safe(__msk, __subflow, __tmp) \ + list_for_each_entry_safe(__subflow, __tmp, &((__msk)->conn_list), node) =20 static inline void msk_owned_by_me(const struct mptcp_sock *msk) { --=20 2.37.2