From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C81EA3C0A18; Tue, 12 May 2026 17:48:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778608113; cv=none; b=QOrVv5aUzolPFQOu/ek5vPbaVW3CKQxYX+5k5roaCrJlKDwiK93+uCWgMTHAiN5DpWna3BEDVWkZp45+io8skOYIiGn2e18g/eAoGM17bJTC+pk5/DS9YQXIA7kxz5Yy9f5m0GolgqZNVHT6keSin8DFoYQTLcQ+dRLAIjmBlC8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778608113; c=relaxed/simple; bh=Y2tOlAi1fhniCfbTAwndBGBVjU/Xj//rjX8MdKZxP3M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HWLNiFtz6dBkTzEHlOMZyY7zdiyWHHQckEq44pDyB/Q7tmM4AY1pttnB535UproxRtIrAlY+6YIt7n8LZchGMwzxMQpMnw1gaCTmHXEmMXy/MzceUjsPPxLbAu4eaDdvyFkd0doTiNU36QvxIkU5aR5BJhCJzS+wFqfYdrlS3PI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=bMSTwvR0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="bMSTwvR0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B79FC2BCFA; Tue, 12 May 2026 17:48:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1778608113; bh=Y2tOlAi1fhniCfbTAwndBGBVjU/Xj//rjX8MdKZxP3M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bMSTwvR0TFt213I9S8oHLaDDvKvyJ1rYWaXmgsLzjOudBhNtWz9a3YNT5u3IsLar5 /slkN3rOlzkAoV3aMIOcELadTL3JQd73W3UXO/LNvDFDcbXRlJsWMhsmaf4VLG0Mi+ 4/CUGtlC4DkjP/FHWD3oGRWJmilfk6Uz2KwFmeWo= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, "Matthieu Baerts (NGI0)" , Shardul Bankar , Jakub Kicinski Subject: [PATCH 6.12 161/206] mptcp: use MPTCP_RST_EMPTCP for ACK HMAC validation failure Date: Tue, 12 May 2026 19:40:13 +0200 Message-ID: <20260512173936.273335789@linuxfoundation.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512173932.810559588@linuxfoundation.org> References: <20260512173932.810559588@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Shardul Bankar commit a6da02d4c00fdda2417e42ad2b762a9209e6cc49 upstream. When HMAC validation fails on a received ACK + MP_JOIN in subflow_syn_recv_sock(), the subflow is reset with reason MPTCP_RST_EPROHIBIT ("Administratively prohibited"). This is incorrect: HMAC validation failure is an MPTCP protocol-level error, not an administrative policy denial. The mirror site on the client, in subflow_finish_connect(), already uses MPTCP_RST_EMPTCP ("MPTCP-specific error") for the same kind of HMAC failure on the SYN/ACK + MP_JOIN. Use the same reason on the server side for symmetry and accuracy. Suggested-by: Matthieu Baerts (NGI0) Fixes: 443041deb5ef ("mptcp: fix NULL pointer in can_accept_new_subflow") Cc: stable@vger.kernel.org Signed-off-by: Shardul Bankar Reviewed-by: Matthieu Baerts (NGI0) Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20260501-net-mptcp-misc-fixes-7-1-rc3-v1-2-b70118df778e@kernel.org Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- net/mptcp/subflow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -910,7 +910,7 @@ create_child: if (!subflow_hmac_valid(req, &mp_opt)) { SUBFLOW_REQ_INC_STATS(req, MPTCP_MIB_JOINACKMAC); - subflow_add_reset_reason(skb, MPTCP_RST_EPROHIBIT); + subflow_add_reset_reason(skb, MPTCP_RST_EMPTCP); goto dispose_child; }