From nobody Mon Feb 9 07:05:27 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:9f92:0:0:0:0:0 with SMTP id a18csp3122354jam; Thu, 10 Feb 2022 07:30:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwhfeNEJBbJwh0hZ/FM3irAaDuUV77T7nwrSZytlDj2oeijRjdUOyfOkzA3NZ5MYcFhwNRe X-Received: by 2002:a17:90b:351:: with SMTP id fh17mr3451791pjb.28.1644507015767; Thu, 10 Feb 2022 07:30:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644507015; cv=none; d=google.com; s=arc-20160816; b=imVe5pS7j0zUowvTi3nd00/sYSwN2QWqkBVB7oefAg7j4xRAozfWj2SghmQwfEHLVX a67UkMCO7+Y3dh09Y/jxEKhrMl7ePBFg1L8USVC/fIRuq1DEjoTPuDiihJmw3MNWaQib ssmMzr1WbH4LEBrb+NJ+QhAv5tmKvCRRVaEKAjenMklN9b6WvtbA7tXDEO8NQMwRtYCA hKwWQTQwwMArrDa0Zf+mKunJKszLEm3hVgDnt6hYMbTrfnMsmd5ggmjNS1Vq3tH+tZQQ 7XQSlZzZ7vyLQROUCK/wvyy7hqZLBtTcEC6VXThnUVb9K30h/Up5Y/7qvGf/UWqHIu9f FtYw== 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=5mUdUnlt2uzgwafESVLJ2+tamar4QCFyaz7jTilJ9Bc=; b=hs427vKPM0BkS1ljolpzZA/lE8lr3/UvaE8xV8Yz5rkx9E7yoVxf6SG5+HiUSTJ+Y3 8GEW+XcgSfXiFZDTcKo97A4c83lFzZhlpttaq+wLZzDIIzHv06qtQazWeDYp5rGDrMmZ 0acBh9cZP1/hokLwnchRRYqnSJQw5lD+cONa9V0VmTe4F1IG6dnjLFvUocGSvnHOu08X iAkMoM7k2nNjZbpV0SlnJb7QfIKwVdaXHzHPZtS6zWzTJDQEnHo5kZe9+9WT1QqsVUE/ 1ik6Dk694mqa8hPFJDkKKWhwY+yxWSnE86QwOE2KN08nQK1/SD0r+VapqaAC3AJeIfN8 vFZA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of mptcp+bounces-3646-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3646-wpasupplicant.patchew=gmail.com@lists.linux.dev" Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id 8si11334112pgc.271.2022.02.10.07.30.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Feb 2022 07:30:15 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3646-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of mptcp+bounces-3646-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3646-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 sjc.edge.kernel.org (Postfix) with ESMTPS id EA8F83E1089 for ; Thu, 10 Feb 2022 15:30:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 173DB2C9D; Thu, 10 Feb 2022 15:30:14 +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 D1B562C9C for ; Thu, 10 Feb 2022 15:30:12 +0000 (UTC) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1nIBOd-0003Fu-3z; Thu, 10 Feb 2022 16:30:11 +0100 From: Florian Westphal To: Cc: Florian Westphal Subject: [PATCH mptcp-next 4/4] mptcp: remove per-address listening sockets Date: Thu, 10 Feb 2022 16:29:49 +0100 Message-Id: <20220210152949.19572-5-fw@strlen.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220210152949.19572-1-fw@strlen.de> References: <20220210152949.19572-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 1696f6fb9baa..4bc8904a25b6 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 { @@ -954,57 +953,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; @@ -1050,7 +998,6 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, s= truct sock_common *skc) entry->addr.port =3D 0; entry->ifindex =3D 0; entry->flags =3D 0; - entry->lsk =3D NULL; ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); if (ret < 0) kfree(entry); @@ -1258,19 +1205,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; } @@ -1375,8 +1312,6 @@ static int mptcp_nl_remove_subflow_and_signal_addr(st= ruct net *net, /* 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 --=20 2.34.1