From nobody Mon Feb 9 09:32:36 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:2248:0:0:0:0 with SMTP id m8csp375667jas; Thu, 27 Jan 2022 16:38:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJwiZAvXumOyoOaonFJCnQItdijMZ4tjm/wKzIj+gdCREgZJT51drRbn2Uri7rqyDGrmmJWe X-Received: by 2002:a17:90a:d913:: with SMTP id c19mr16810171pjv.72.1643330326472; Thu, 27 Jan 2022 16:38:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643330326; cv=none; d=google.com; s=arc-20160816; b=BJxNEm9P6I0UCM3XWySmicGqNxy+h3C46j4h62XBF3CkbV3kJXfRoxdbAkWQt5eT+t 2gp/TPodZHWQP/fELNS5Pm4h/8ksDb2ph0qUwszOWDUMKdoeiCUZgeyD4Gw6xqvB6ilm PR8cuVycnIPgVs5EK7eREQJlKbhP99Iwt4kLyWtrmZMW/NTc7w0zaMr6UfbdEheRh883 w+S2wjkRMJRzv2QEnXNF3+hU6OgqeUFRjgsRXEfqL9XW+FKCFBdPOMB46Yvqmzdi16d7 /sdUrI8T/HR3tr2M69hXkkEvES9YOd7DRUDO+JsTv/U9wgG2hakw5EI2E26PCpWHR/bi 3cDw== 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:to:from:dkim-signature; bh=+SMdW8XVUoOjzqF07XQ64KJ/C1zRJY9AqRxh4vImz08=; b=EcDwOmyFpUH5qM0q9POb/KG3yXCoV9VVEirOFretYYdkAD7IxWWGnUwcYLJmA04pyu Jo2CquOMhjv7t+sVCM8dFZYSW8VviORvub1LV++Cnu7eCPf0DCW5VsgTwLdZLU6gjGt2 6F/Yl5tfmdxYMFjifzSFtGm1oCzN72ZMDljYu33/jJlXwXtA7qVjlGb+qMLL6Zt5hzwF 24IT6rNUk1FG1mkYshsfzErXGJblU+G4+Gb/eEhlpDkqO3wfV7xirQ9tLznKOsVNYbEE Z70mvFAzF6ZsaA0S2iocd87XjseLhH9jUnORHNzl0n19J6iqpuczB8xEQqHo+kJ4JBqO PFmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IcRIh2GM; spf=pass (google.com: domain of mptcp+bounces-3338-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3338-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id o9si3363199plc.371.2022.01.27.16.38.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Jan 2022 16:38:46 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3338-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; dkim=pass header.i=@intel.com header.s=Intel header.b=IcRIh2GM; spf=pass (google.com: domain of mptcp+bounces-3338-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3338-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 sjc.edge.kernel.org (Postfix) with ESMTPS id 0EDB13E0F66 for ; Fri, 28 Jan 2022 00:38:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5B5492CA6; Fri, 28 Jan 2022 00:38:45 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 3684A2CAE for ; Fri, 28 Jan 2022 00:38:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643330324; x=1674866324; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=mnR7vfPK4ZYgF4Wcirh0yNyrgesX9MuVyrdIUYpbiLI=; b=IcRIh2GMWUruITrtOF6PMXyd6DJPZEAGEu/JM4K6rcrERUwNRNU/+YHx YyJOW9Oqi5DqWnFpeWJg1V4dAAfI6mowf5LgBn/YoenAaCU0nlxa9Ykaw so5THHOET2YxY9+RUi5T1Fs1KkVeH43WFRXQF/Y7NwWRvEKQiD7o9YEW0 I+r1NXnCh1jLvt/sdwxl3mPHkrYefY/6qBXE/nztv5iOp/4TvuDVz/kGi cWdzxA5jRfiNJM5RtlBoBNxccTjVezzR8SlxA0D8sW7maZgQWWIJaqGMQ WC3s94LOLj4b6vTgiroW25XQpbjwt3c20YgVvr3qEOp2j7UBM6bH3tLBL A==; X-IronPort-AV: E=McAfee;i="6200,9189,10239"; a="333358331" X-IronPort-AV: E=Sophos;i="5.88,322,1635231600"; d="scan'208";a="333358331" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2022 16:38:42 -0800 X-IronPort-AV: E=Sophos;i="5.88,322,1635231600"; d="scan'208";a="480527108" Received: from otc-tsn-4.jf.intel.com ([10.23.153.135]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2022 16:38:41 -0800 From: Kishen Maloor To: kishen.maloor@intel.com, mptcp@lists.linux.dev Subject: [PATCH mptcp-next v3 02/14] mptcp: allow ADD_ADDR reissuance by userspace PMs Date: Thu, 27 Jan 2022 19:38:24 -0500 Message-Id: <20220128003836.2732694-3-kishen.maloor@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220128003836.2732694-1-kishen.maloor@intel.com> References: <20220128003836.2732694-1-kishen.maloor@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" This change allows userspace PM implementations to reissue ADD_ADDR announcements (if necessary) based on their chosen policy. Signed-off-by: Kishen Maloor --- net/mptcp/pm_netlink.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 882988e43d76..726dc0a56fca 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -479,8 +479,16 @@ static bool mptcp_pm_alloc_anno_list(struct mptcp_sock= *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - if (mptcp_lookup_anno_list_by_saddr(msk, &entry->addr)) - return false; + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, &entry->addr); + + if (add_entry) { + if (READ_ONCE(msk->pm.pm_type) =3D=3D MPTCP_PM_TYPE_KERNEL) + return false; + + sk_reset_timer(sk, &add_entry->add_timer, + jiffies + mptcp_get_add_addr_timeout(net)); + return true; + } =20 add_entry =3D kmalloc(sizeof(*add_entry), GFP_ATOMIC); if (!add_entry) --=20 2.31.1