From nobody Thu Mar 28 09:25:08 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:590e:0:0:0:0:0 with SMTP id n14csp384338uad; Fri, 15 Jul 2022 11:12:18 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tCPJy31lF2F1megruWqlD+eIIVgaSFmgWdwlPqiB8XdgPYQzRxWGcdnC5/DB7Ky3xojnrT X-Received: by 2002:a05:6808:18a9:b0:339:f77f:9e30 with SMTP id bi41-20020a05680818a900b00339f77f9e30mr10919266oib.125.1657908738440; Fri, 15 Jul 2022 11:12:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657908738; cv=none; d=google.com; s=arc-20160816; b=K0MAAM8sGcMscFIUbOC0N9f8mciobtdoiYs6SRr6XL6TQOigakXvk3tnqbUvKBvEm0 +7gdNMUJBY6Ho9Yayaoj4cToZ3wZs+ZpU0CvjiD+W6TR1X9gupn1b8IjtT8+/uYhwo4Q ESLdp2kxQ6sD7lDUm0Sh1SveMukeCIkTZH05ODhLtXzdPyetEx3Bp0DpG9sehL2pCnV+ BdLuacVy9llKsMDbYn5omrLqLtrtAxT38v8P82dLLMmqyCvYi3jIWIx7bIkdVWSHQh1L Y1JJVM5msc3X0q6O7OeLqR7IrI/XRU67YVNnCuRFE1YkSD1tRYvtbdZwvcG0RP103xKj JJpQ== 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:message-id:date:subject:cc:to :from:dkim-signature; bh=8ZJHf72qbPcv9gFnqUP70InaTtP5TQUl2v/Aa1WqArQ=; b=X/b+XPLhv2nm/ldzMTemYwAHmuHmd/G8ai5laM1BCgcl0Ql87X27kY5JPvSLsmVfr+ /ebuTTAtDBs3nd7ASYUP4urkGQuH8pxzFe5lMmoq3HNovASo3XIdWSGcAgegkoPLLqp4 coYSyD2uBudDV/78V5Domxvb3PTYurJZvErTX2rcFIctBQuuO60+We0N39XF4xmUnkZb m898IGMERK0ZiGKIYEaf8dF0tk3Te43pYZji1C/fLMdPg7SoEHNa2KGuRy9zqnsMBo9+ 1p9ZNX56vcAHtduIdA8r1IYemziFZcqJws+rWoaHDPhcYOAzgdWp9s6A/22YD6DDSosL 7IfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bAr9RK2n; spf=pass (google.com: domain of mptcp+bounces-6029-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-6029-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 v18-20020a056830091200b0061c846426c2si1791449ott.309.2022.07.15.11.12.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Jul 2022 11:12:18 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-6029-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=bAr9RK2n; spf=pass (google.com: domain of mptcp+bounces-6029-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-6029-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 48D85280CCD for ; Fri, 15 Jul 2022 18:12:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3913F4A19; Fri, 15 Jul 2022 18:12:16 +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 02F974A04 for ; Fri, 15 Jul 2022 18:12:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657908734; x=1689444734; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=RfqvsGJ9MbosJZhWcxgM3E30ct/1oAqdmhbvhfOzG6o=; b=bAr9RK2nokHCczXQBxEBuIR3e0m68YpDBcyI6jpLAxL0PwgM5DoQMaVY gLQhT7eBjFUpUyURRIS9nY5PeZ3ss+VoUimj1ke+P+HqznXpRC9P9xCi+ 6+SqCv+AXyaxQK0FjszEIyIZMssEUWTuBcxjlOAXYPNedql0+Wm2bp5T1 znlP0eJFoNEVnmjC0HN5k8b5esjFdnS6EkcfC4V8YCC86Ry44ZV4gjhgM /p3zDEWvXTdz+adgT9zFcRWWnJjE3ZczJ4j+ZZuXsoOEBmbqViPPKEKpv X/9nKbHYimAyyKPgpFNnwhC59byDEtsTDEbRF8BKKEBNRi8KmLSR1yTO+ g==; X-IronPort-AV: E=McAfee;i="6400,9594,10409"; a="372181841" X-IronPort-AV: E=Sophos;i="5.92,274,1650956400"; d="scan'208";a="372181841" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2022 11:12:14 -0700 X-IronPort-AV: E=Sophos;i="5.92,274,1650956400"; d="scan'208";a="623954453" Received: from gtong-mobl.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.252.132.106]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2022 11:12:12 -0700 From: Mat Martineau To: mptcp@lists.linux.dev Cc: Mat Martineau Subject: [PATCH mptcp-net] mptcp: Do not return EINPROGRESS when subflow creation succeeds Date: Fri, 15 Jul 2022 11:12:07 -0700 Message-Id: <20220715181207.522021-1-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.37.1 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" New subflows are created within the kernel using O_NONBLOCK, so EINPROGRESS is the expected return value from kernel_connect(). __mptcp_subflow_connect() has the correct logic to consider EINPROGRESS to be a successful case, but it has also used that error code as its return value. Before v5.19 this was benign: all the callers ignored the return value. Starting in v5.19 there is a MPTCP_PM_CMD_SUBFLOW_CREATE generic netlink command that does use the return value, so the EINPROGRESS gets propagated to userspace. Make __mptcp_subflow_connect() always return 0 on success instead. Fixes: ec3edaa7ca6c ("mptcp: Add handling of outgoing MP_JOIN requests") Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establ= ishment") Signed-off-by: Mat Martineau --- net/mptcp/subflow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 63e8892ec807..af28f3b60389 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1533,7 +1533,7 @@ int __mptcp_subflow_connect(struct sock *sk, const st= ruct mptcp_addr_info *loc, mptcp_sock_graft(ssk, sk->sk_socket); iput(SOCK_INODE(sf)); WRITE_ONCE(msk->allow_infinite_fallback, false); - return err; + return 0; =20 failed_unlink: list_del(&subflow->node); --=20 2.37.1