From nobody Mon Feb 9 07:04:33 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1677235jad; Thu, 24 Feb 2022 07:50:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJy6fFxRiOfIhhLevAB+ax/z/Ti7AtRI1TR6Vxqweb5jxh3XsEMlvTP939v3r4JVww8FBIEC X-Received: by 2002:a05:6402:2298:b0:410:a419:997 with SMTP id cw24-20020a056402229800b00410a4190997mr2978867edb.271.1645717838524; Thu, 24 Feb 2022 07:50:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645717838; cv=none; d=google.com; s=arc-20160816; b=rPH4h4sE6JWWXt55RlyFpJWvmlBgCPFdAx/mIMOYiAUq02ePBi3qzT/jq4U8P1PDYU 2VTPMieL8D9NR4HroSFG0XTNZR9AhQ1Q8EPDg5ywjylaQ320REIg1Vg4EJ78Qf2xZ4fh sLowAfxxwyjGL/mj/iPk0E5J32vduQpAbppBncNs8aOibJ+BzMWN+GpjgFkn7C+KNob8 /p0mRN0a+kS/icQBErT0zuClu1zPlL6+PLzp4lISZ35d4ofBmNQDMtf41ZJITHi2zleN Rf+1iGUlYudGMoZlxvQ8psp+pR310pfXylQ//1W5FgfIgJAe9QEYVpIhvENTq/eikv3h zZuw== 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; bh=XGoysPtl+u28vN+Wr8RWp1WJ3FovV5ZYJC+nDXwil/Q=; b=UGEyUodvJJhkZ9t8NTvP/cOkOyV7USR56n0A22hdYKJb55NzBvlW/XkaCFaXBPqStV Afn1yfRFgrKgoSZBs51QSCscNyWM9r9z3grbNGXTz+qOOesMoAIRUFoKyib5qA3zc7c/ GqZSE18OW99K9zAsEsReEVS3wpC/H/Y5Hn1qtBVLdBpvyotQN1dJoQ3/GVk0e+LURP8h TdRszUuD8/gSmpiqwwi5wvuVMIHBclTA2/dsg08hnE7IBEkidfWeoCFzLODv5MmvW9+L jlDJf3X9jXDuh+QR1jrFw0e9LcADd15ay/ov4VxP50FY5vy4WWzXiGbUEOfY828RuDgn Njag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of mptcp+bounces-4009-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-4009-wpasupplicant.patchew=gmail.com@lists.linux.dev" Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id cw4si2097115ejc.967.2022.02.24.07.50.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 24 Feb 2022 07:50:38 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-4009-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of mptcp+bounces-4009-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-4009-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 ewr.edge.kernel.org (Postfix) with ESMTPS id D2AF21C0E6C for ; Thu, 24 Feb 2022 15:50:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7CD86748C; Thu, 24 Feb 2022 15:50:35 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [193.142.43.52]) (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 3E6217A for ; Thu, 24 Feb 2022 15:50:34 +0000 (UTC) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1nNGO0-0005Jf-0j; Thu, 24 Feb 2022 16:50:32 +0100 From: Florian Westphal To: Cc: Florian Westphal Subject: [PATCH mptcp-next 4/4] mptcp: remove per-address listening sockets Date: Thu, 24 Feb 2022 16:50:10 +0100 Message-Id: <20220224155010.23676-5-fw@strlen.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220224155010.23676-1-fw@strlen.de> References: <20220224155010.23676-1-fw@strlen.de> 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" Not required anymore, syn packets with a join requests are redirected to pernet mptcp pseudo-listening socket. Signed-off-by: Florian Westphal --- net/mptcp/pm_netlink.c | 65 ------------------------------------------ 1 file changed, 65 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index dcbc11d6b767..836326e04c4a 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -27,7 +27,6 @@ struct mptcp_pm_addr_entry { struct mptcp_addr_info addr; u8 flags; int ifindex; - struct socket *lsk; }; =20 struct mptcp_pm_add_entry { @@ -883,8 +882,6 @@ static bool address_use_port(struct mptcp_pm_addr_entry= *entry) /* caller must ensure the RCU grace period is already elapsed */ static void __mptcp_pm_release_addr_entry(struct mptcp_pm_addr_entry *entr= y) { - if (entry->lsk) - sock_release(entry->lsk); kfree(entry); } =20 @@ -972,57 +969,6 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm= _nl_pernet *pernet, return ret; } =20 -static int mptcp_pm_nl_create_listen_socket(struct sock *sk, - struct mptcp_pm_addr_entry *entry) -{ - int addrlen =3D sizeof(struct sockaddr_in); - struct sockaddr_storage addr; - struct mptcp_sock *msk; - struct socket *ssock; - int backlog =3D 1024; - int err; - - err =3D sock_create_kern(sock_net(sk), entry->addr.family, - SOCK_STREAM, IPPROTO_MPTCP, &entry->lsk); - if (err) - return err; - - msk =3D mptcp_sk(entry->lsk->sk); - if (!msk) { - err =3D -EINVAL; - goto out; - } - - ssock =3D __mptcp_nmpc_socket(msk); - if (!ssock) { - err =3D -EINVAL; - goto out; - } - - mptcp_info2sockaddr(&entry->addr, &addr, entry->addr.family); -#if IS_ENABLED(CONFIG_MPTCP_IPV6) - if (entry->addr.family =3D=3D AF_INET6) - addrlen =3D sizeof(struct sockaddr_in6); -#endif - err =3D kernel_bind(ssock, (struct sockaddr *)&addr, addrlen); - if (err) { - pr_warn("kernel_bind error, err=3D%d", err); - goto out; - } - - err =3D kernel_listen(ssock, backlog); - if (err) { - pr_warn("kernel_listen error, err=3D%d", err); - goto out; - } - - return 0; - -out: - sock_release(entry->lsk); - return err; -} - int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *s= kc) { struct mptcp_pm_addr_entry *entry; @@ -1065,7 +1011,6 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct sock_common *skc) entry->addr.port =3D 0; entry->ifindex =3D 0; entry->flags =3D MPTCP_PM_ADDR_FLAG_IMPLICIT; - entry->lsk =3D NULL; ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); if (ret < 0) kfree(entry); @@ -1284,19 +1229,9 @@ static int mptcp_nl_cmd_add_addr(struct sk_buff *skb= , struct genl_info *info) } =20 *entry =3D addr; - if (entry->addr.port) { - ret =3D mptcp_pm_nl_create_listen_socket(skb->sk, entry); - if (ret) { - GENL_SET_ERR_MSG(info, "create listen socket error"); - kfree(entry); - return ret; - } - } ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); if (ret < 0) { GENL_SET_ERR_MSG(info, "too many addresses or duplicate one"); - if (entry->lsk) - sock_release(entry->lsk); kfree(entry); return ret; } --=20 2.34.1