From patchwork Mon Apr 7 08:35:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolin Chen X-Patchwork-Id: 14040022 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9053EC3601A for ; Mon, 7 Apr 2025 08:53:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=g5XZEBO1DWQaC6m69U46/bRY3xM06DpH5T4dSNM5y8M=; b=1rRksQIyYWAVj4KsZo4Nglpj1d lsYSr54mCR+QKFl585wWaiIXLqqxmU2umsJmMIwaqMdRo2hN7POuFZyYuRYgHrxxiT/VseomrnGM9 g6Z084efvEYy+QM69BoIQXAZPzRhaLvajFnRInYnB7c8duyK7Lo004ebyaT/cZRJ1L9oxipWnf6DF 7TEjcps4GHWw+nCTyfEEnnk4pYojIqbAs4jQVzO4qAyKzYrWC6zT/LQNpb0gTY1LYvxc6t8Ckmczh HM776+dTqRcWm/oQZcV5VRXyU4w8l8BEBA3B5Hw16OA36uWB0uVrXFuAIJB8FVI1/VlEpmzy521PJ m7apCMHQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u1iDq-0000000H564-1IJ4; Mon, 07 Apr 2025 08:52:50 +0000 Received: from mail-bn7nam10on2061f.outbound.protection.outlook.com ([2a01:111:f403:2009::61f] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u1hx5-0000000H1uy-19nB for linux-arm-kernel@lists.infradead.org; Mon, 07 Apr 2025 08:35:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dCW/aa5g79oLGNUQ7+twYb832M+51Gs0w6qvd62+3UBaPHYN/19DxzSxCLdGWMKSGNahb187b9dH8eFQqTtQ5wllx5o3XnPSc2/RqOvvP09VGjdfZ0/HbCeFbDBGsCRaAN0biTigi8Qw/fFhUxYpHtFwfUeyIgihOcvFyYPALJNtYVh+dPDfHBGH5vOoMFun1n0gNI+F6RoOu9xoa5DheY9GjBsgxLFszixmVwqk0UDP0uUPH4+BpwOopiMnznm/g4cPCwqjTgD8K5sezGM/q/gC8cRkT4K07oYSwxmBaG5+BmWGbvz0U65EmGrlLxzrwgfO1b1MtXc0QPKZ2ogGTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g5XZEBO1DWQaC6m69U46/bRY3xM06DpH5T4dSNM5y8M=; b=k1mYchfe3d2Ctnzxwybz2nBfat/LTlKe9018gV2k2EcvLSVZbkA+luYGh1YMmxu1l0nKfzTAkIptIQ77o3+wpXFV2MEI0+ix+4BdfFXux1HL0Rpk/oGPRpJ4XFIZueUa+9SOMMD43R+ZxpMaYTgaHgJWgQF+60sMQ2zk9ZEHAfj/lOcr4q7olKLEyNwirw0SgGHAFyQb3BaWeiTNMA4MhLtNiCVjlcdpJ0SyzN8AF6lH1pd9V/8GibnG+bDvijCDhMwOufxMaZpFNvGUoqPyZPXwBkf0IaYdaqCrlAhk7teUpoRyrTLpZOLYPe8MKwzUsTTCUNOSBCtKK438qeZDOw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g5XZEBO1DWQaC6m69U46/bRY3xM06DpH5T4dSNM5y8M=; b=HF9M/Ect5thZ5dVkWuOy0qVeVydiC/cMLvCLhZ0HOgVdeVDeZxOshZ+xFhENeJ7lRGaq97vf3m8cnr0IQAjIGHoG9DJETRcsqIzExkkkSqcusOsUa0AX7TbTYsToOgM0OVzj0K1aYmETMGFzcZ6bPwwqe7txDsFG5wkjyg73cf+IR3NYkvvipihMQYXQ5c/GrzduLhm3Np54BKll2KnQuSuW/Byqvk/eXtOawO3LkLeQh3745Hn+bBiO8K4gr3UOObMrdqqWKNkzOjq7bUiS9r/nJvblWSbMjYF1li519gqKi3h0wgFH7lyEZVneP7r8WB2S/zBIStr2/rZUcaRNyQ== Received: from SN1PR12CA0107.namprd12.prod.outlook.com (2603:10b6:802:21::42) by CH3PR12MB8657.namprd12.prod.outlook.com (2603:10b6:610:172::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.33; Mon, 7 Apr 2025 08:35:21 +0000 Received: from SN1PEPF000397B1.namprd05.prod.outlook.com (2603:10b6:802:21:cafe::c3) by SN1PR12CA0107.outlook.office365.com (2603:10b6:802:21::42) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.34 via Frontend Transport; Mon, 7 Apr 2025 08:35:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by SN1PEPF000397B1.mail.protection.outlook.com (10.167.248.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.13 via Frontend Transport; Mon, 7 Apr 2025 08:35:20 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 7 Apr 2025 01:35:09 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 7 Apr 2025 01:35:08 -0700 Received: from Asurada-Nvidia.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Mon, 7 Apr 2025 01:35:07 -0700 From: Nicolin Chen To: CC: , , , , , , , , , Subject: [PATCH rc 2/2] iommu/tegra241-cmdqv: Fix UAF due to re-entry of tegra241_cmdqv_remove() Date: Mon, 7 Apr 2025 01:35:00 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397B1:EE_|CH3PR12MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a28976a-af79-4353-553e-08dd75af2206 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: 278eWh9pdIPKyet2W3luiS0F4YOgAlN/r19wZg+CJYpy6pEuF3ckEaIkOlbB4QoqBVytB0yclipmA8F+3K7fAoUhjkKXVou7ucn6dsLWlWRnDj6ocAmfYG1mnWU7o8o6WYNIWbcltGTqKQWAFzXFN1tX6TBxRUpRgLeOZnWv75MBK8dp2HA2faOsgP/wMiV2vwjRfQKPYyJPeTVIbE6MCcE/ClQlSfR4/ntdX+iswRGD4D+l0XYpDo1D5RsVB4U4xjxX/r3X0jqKjI8jtA7TDHB9KNXiimmqZUkglVuQlClNAyby5MTUMciloxetrosGvLdi8zt7587RSfWHxb95Ujrh8MuZW924936tFzHgzbXq5dQhGT1vC8emgL/F9IQMyty3x7cy11ugl/pBiEsVFIjE/MvonddfOlRw/Xy/LPwPX4rhnlKXkPk+7IP1Vk9vwtK7HkGMnbU7+ta3kU7jhrMmJD2G5JO5HTpdsmUxiOR/BPcKQtSBcGc22eEQQY7BGdcA/ZmJUXFq9cBRemJDbGw48lxtsLX+i7I57HFrYx56J5Eyz5xi7JEFHTgQYqpo/NOYwewlUXuUMqAqZbobGJCipB7czpyub+e5NHoJIVkYsN+i6KkXtzdRPTqTjjnDwB0akO9G69deixOnCJ6UXzoew6axXOpJ3jtD5dceB3ofJlUKlSGLKlelCoZsLzTU2sXrjhwoyYEwA/VqftsilX8bbgyaRrica5p4oEsXnzOj8fMmziSKRhuS+sx37Hac1VFmicpmjYZS++Xc/bRc4DY+OUT2HcNrGpZJwhHnvz4RChnNObV94Swl5Oo9TvPKF0uPTuAXoBnx7rtUE4RIE+AonVF5kGaTY+TBRM0AVI4hTDXbpzcsNjArMrfTZsAa+sGdNOhudKmj19cpNWeTPHgzIPK1EgjmNojlJ68Q8XfuBF0vs73gn1TmW3kIN+SUaCWrQHbQxZyO65upSsgHalHdXAwQmKEFuHrrVzVIXMkOgiiigR1JQYjGChDJ7PNDrW87i0V30J/pCgFJ8j/CyFmsCBYIgqOq610XH4IS2esB0htpJGeL8peHZlKQeYQk31qtMqZ/enSDtf40ZqTEOH76ZkTx4kC7QEgFAzgWV/PzOn7zla8dlceDgclo4+wnPYV1zBoWDA7jZilKqZq5T/gdAInTr1s4hKGj4tLxO7TeXfXbAJysTERKGjRTuxjrQXkJDg/lUclhpfved3ol80yQ79OcdncET2D9o1PXymAjTtHwcnrEKKDI62OphoCRWIHIXReGbRzDNqS0OZE4QF44oEFZbAJAivKcZzykm4CYpl2akgXUxwcb6tZb0n66XNcH9W8pSPTXZH+yCx1DbQr87ZDO5M8onyup1669A38cae/fwfUQO/Nm0x2CY/V32qFI3Y//Cag8gLtCMV/Aahkt8nFLHLNDR0SQRwWyDjKejIf6SAFNI9wjLSyyut1cw1yeJHINeBVkYIim1JjhXalfdD+1keRN29uSaOdnfNstwCca/ASC6IHzmu0l3/DB X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 08:35:20.5795 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2a28976a-af79-4353-553e-08dd75af2206 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397B1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8657 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250407_013531_311782_11D77EA7 X-CRM114-Status: UNSURE ( 9.49 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When falling back to standard SMMU CMDQ, impl_ops must be set to NULL, so tegra241_cmdqv_remove() will not be re-entered by arm_smmu_impl_remove(), which will trigger a UAF. Fixes: 483e0bd8883a ("iommu/tegra241-cmdqv: Do not allocate vcmdq until dma_set_mask_and_coherent") Cc: stable@vger.kernel.org Signed-off-by: Nicolin Chen Reviewed-by: Jason Gunthorpe --- drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c index ce7be8eeb43c..8249ef087af3 100644 --- a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +++ b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c @@ -803,6 +803,7 @@ static int tegra241_cmdqv_init_structures(struct arm_smmu_device *smmu) dev_info(smmu->impl_dev, "Falling back to standard SMMU CMDQ\n"); smmu->options &= ~ARM_SMMU_OPT_TEGRA241_CMDQV; tegra241_cmdqv_remove(smmu); + smmu->impl_ops = NULL; return 0; }