From nobody Sat Feb 7 17:55:36 2026 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2065.outbound.protection.outlook.com [40.107.100.65]) (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 6ED2A22A1CF; Mon, 7 Apr 2025 08:35:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744014930; cv=fail; b=O2dMYIoApV8j6WQDMLTUDiG76PdhxOxYPcuoYI3u6oLOE506kTXutWNlVqPEC6MuwaSUSq/4NagVQ/2zp7WIgT8IHecsr5OEJDzIRFZUL8sBlXq38Y59zcTCaJLLb96Y7aOuuJzfMTpJ/R0xAeKorh2W4f3Fq3DrjOHpL9BLQkw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744014930; c=relaxed/simple; bh=gGaBGSLX4DsU5TwqMSB97LCOHiqHAlRJTwi1xyc1x1M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sNEa6xXl0d6mdrH33lY1mAVAoXzmlXNNREXmGSO10ZZRMM/po0EoXbKZZGwxxjTwGZrxBnKnJUR1SnBZWkfLUGk5j0YH5oLtHbEZXA364unOjFlvyNuMbsGlnH5fqMdw+KEPLy6VOOBmNkvHmRgzrlrwgmEXShVDKev51YVVaDo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=AOXZ15nl; arc=fail smtp.client-ip=40.107.100.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="AOXZ15nl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GYnsFyhcB78AHOILKGbkc4PdQ2QxS5SY/JgU0bnJPRbJfQnkfadGe20eVDW6v0K9lSf1GRWE6Y6rD9MZeWgFJSwYLJbprB3KBQ5IpUqdn3GQsDDkYjD8O+CiFiVUVF5dHlB4tTDXf2EHCFF/wfU0eTKM2LDlrp0pPq9gj7hUUwV4e81Nsb5OTTq2zDtI/fTGdbB9HQUwJn2ljh82qSr24x3jj1cJsN5sbxz7i/x1jJD6M6f0u1SdetQfRZdTnonoESQpbGV8Y57rkWma4nqjEWmbakTl6Ce4a+5vM0IRRKxozWt4DnhdFw9nu2XSH7pX8DxuM4nxw4QE1y/6j+xZ4A== 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=3SyXmXO6szq7bDUu0YIaQJT7L7ctVklczaADsvt1CNk=; b=qbfMYNX0q0YRoRRLlkZE7pIeMFX1ETiGxh3K28q/B2OWDoESYtJUWkJ4QKyJmHlHDvSNULsIHKrANlIgeTE6lC40V5GTcXERq00BQwuf7ykYdRO9Q4rSkGcCds4ODwfmQzqgCQaMeN0YgAIbaXz8kZyXDNT5eFQhQ/5fIb27f8Kfq9bMQTRx37anyfxds/zB7h8PhOyMugRpLy0JUuegPXL/w/kM5u8HllIKiecyFW2gZiGnPjtqeUIbwjEqcYaRSZxaeJBM23fyWOEDv8bC+fY08HjkvhjH4dB4fxBVGX5CZPRhwp+PVhGpqwAnCU5PeKzGYJy/nAXk6AmUJuSNBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) 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=3SyXmXO6szq7bDUu0YIaQJT7L7ctVklczaADsvt1CNk=; b=AOXZ15nlEvxZQADUB44kshUUyIFAAu7l+KJyq8BDJtYeE53QQzKKOp7sX+wJaRVYZJgm6YNGXQoKOvtuqpAZP8XQXHveHSFndZIh6HYOu0W2/LNGGF9s1EKGsY7B2l0uotyn4U6++T+krLSDEz29IQSZn4tie0o22sWTtqljetaMAMoCO8DshKX5dQpLlRX0iXyemkS1mlj3kNzDVIxR5I9W1iUQbwD2+EZ+j3+nNbh5NqXnxbDixfsLtCynyTBysuAPd/qD09r2dmoZoOCri+vJ5PfRtTTpRRlvmb+GWoOMkzRCXiPBFDlqAboZRViVTTcn2lVeWmPhNSaOC+n8eQ== Received: from BN9PR03CA0144.namprd03.prod.outlook.com (2603:10b6:408:fe::29) by SN7PR12MB6864.namprd12.prod.outlook.com (2603:10b6:806:263::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.29; Mon, 7 Apr 2025 08:35:24 +0000 Received: from BL02EPF00029928.namprd02.prod.outlook.com (2603:10b6:408:fe:cafe::c0) by BN9PR03CA0144.outlook.office365.com (2603:10b6:408:fe::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.27 via Frontend Transport; Mon, 7 Apr 2025 08:35:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) 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.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BL02EPF00029928.mail.protection.outlook.com (10.167.249.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.22 via Frontend Transport; Mon, 7 Apr 2025 08:35:23 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.6) 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:07 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail201.nvidia.com (10.126.190.180) 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:07 -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:06 -0700 From: Nicolin Chen To: CC: , , , , , , , , , Subject: [PATCH rc 1/2] iommu/tegra241-cmdqv: Fix warnings due to dmam_free_coherent() Date: Mon, 7 Apr 2025 01:34:59 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00029928:EE_|SN7PR12MB6864:EE_ X-MS-Office365-Filtering-Correlation-Id: cf9815ef-724a-41ed-0a08-08dd75af23f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Bz7W3An9AO1RVHyZhNpy3pSVY7WsI07cwT08FIV3iHZzQTGXoQJdSIxDVhQi?= =?us-ascii?Q?Qlbw3PHeCH53RjId4s8ZjqNGk5pCVedeSK01uP3IRMpKiktalA+VVedFVoCz?= =?us-ascii?Q?YGTnkNtxupfJf/gGe8mnr3zFUHwznC4xEPoQGWrxInHu1MYDaD0GFG5s/Qp+?= =?us-ascii?Q?VvWEPLsl+sKAamTsk001NJG92SJh4IRwsztERkK5QFQjrfZVmtyA85NeCxaN?= =?us-ascii?Q?jt0djkhV95Vcl8GfLPhkVzjDz0/vPw+XOERIBHS5LrowsqNMjojnBLjyABYm?= =?us-ascii?Q?TzKHOygfhcpU6FLx01e1yeAjc+LGXHDlJUx95J3DJKHs0RDlLik4vDyVtL59?= =?us-ascii?Q?wUBaaCe1h+8P7/fxmdylQKrj1fn6neTQMABeSSOtmh+gaEUDqII3gBahLi/c?= =?us-ascii?Q?pHqgqI3/GNW4kpm9XWrVGltPqsjNCJF08nhnu973I+zzAU3MxPsxZp51ySAc?= =?us-ascii?Q?abApkdHhmSI70DGea9zz3mvSdjFxuAL7mrdywQ3g7n9Mk39yehRF37NGn+BT?= =?us-ascii?Q?WYFIcEpnC06ZUw1EkR1k6atN76dlGmSdt7iFczGSapzuHEYaa7KvflwTVzso?= =?us-ascii?Q?sTV0EsxO6aqgH15cVd8G1ErxwmuWpXGRjgYQ2wX8mnPyJsXuM9xEAuIHEJ7s?= =?us-ascii?Q?MNG3x8aqDPUggbaAsewvJEuDQMXryacCK3QGF/82UUIKv/B4USHOBZ58Gs6Z?= =?us-ascii?Q?W7XeIRet/gyoQ3eY3bgl4aJQ/C9TsMYZZAQjnTp9epy5zwAXBxniz4bKCubv?= =?us-ascii?Q?gNuYeVXwCFxURDemeCkEUCMDFNVmzcbmFg17tjAZ9Bv4w9ETUQUpDSVmWvct?= =?us-ascii?Q?5jMIVa0KbA1r9RTqkQXF5+tXd2wouNmaLgOfYeKl+6HrcaXJEeCoFPU6KcU5?= =?us-ascii?Q?A37hOWf4NIZxP8pTs1MZ98YalXCfqR5l7zkB4zEWkVJ+dnIM8m1HVmZpZeVI?= =?us-ascii?Q?gGUOtljHOs1EpjQ1MOjINCqv9uSTMnXNRFn6dI/g61WKmKIh+oNiGnm35Ev8?= =?us-ascii?Q?E3VLwTwV/Ck5PEfnkmRKWmC7nVhoHGvAlc36tSIBs6msXBonoFKjvLNwOiQS?= =?us-ascii?Q?sB/tAOY7ASzJvG88tAg/HcBLTt46GCTTdr5KP0f5uBklfiSD2DVFg04ruq+G?= =?us-ascii?Q?+i/OdUmuN4JCCobSBsQnRHhc8zz68COqYtfaFl7cOVAHBSZpeWqOQYroHmVD?= =?us-ascii?Q?QtZVMLrzwNJ5kQpg23NFsziFXx+WPd9tsFo3F1LXPeQWl0rYkkNVfgc5bQu9?= =?us-ascii?Q?6kOvAVYM6bpTOlOJ6nllIEDWfvpDiaFVSUIQPhFTc7uvZ54BvmSx9sT9utBh?= =?us-ascii?Q?vgespyssCkFAA2Kv63LqImfaNtsCYF6P8fHvCDgg5v/mlq6xmiRAUAkm/m0j?= =?us-ascii?Q?+g0093uXw7zWCeA9oJVqSZA29y57KEWfmdlOt48ls0PzR7w25JYq3tt5tn9J?= =?us-ascii?Q?xD4FPjfVyXxa6aLRYs6yVLAZbabeAWTIIHPRl/1kqRThuzBba2TKhh4WEaSY?= =?us-ascii?Q?YNOndv8z+ajXB94=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 08:35:23.7369 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cf9815ef-724a-41ed-0a08-08dd75af23f4 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.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00029928.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6864 Content-Type: text/plain; charset="utf-8" Two WARNINGs are observed when SMMU driver rolls back upon failure: arm-smmu-v3.9.auto: Failed to register iommu arm-smmu-v3.9.auto: probe with driver arm-smmu-v3 failed with error -22 ------------[ cut here ]------------ WARNING: CPU: 5 PID: 1 at kernel/dma/mapping.c:74 dmam_free_coherent+0xc0/= 0xd8 Call trace: dmam_free_coherent+0xc0/0xd8 (P) tegra241_vintf_free_lvcmdq+0x74/0x188 tegra241_cmdqv_remove_vintf+0x60/0x148 tegra241_cmdqv_remove+0x48/0xc8 arm_smmu_impl_remove+0x28/0x60 devm_action_release+0x1c/0x40 ------------[ cut here ]------------ 128 pages are still in use! WARNING: CPU: 16 PID: 1 at mm/page_alloc.c:6902 free_contig_range+0x18c/0x= 1c8 Call trace: free_contig_range+0x18c/0x1c8 (P) cma_release+0x154/0x2f0 dma_free_contiguous+0x38/0xa0 dma_direct_free+0x10c/0x248 dma_free_attrs+0x100/0x290 dmam_free_coherent+0x78/0xd8 tegra241_vintf_free_lvcmdq+0x74/0x160 tegra241_cmdqv_remove+0x98/0x198 arm_smmu_impl_remove+0x28/0x60 devm_action_release+0x1c/0x40 For the first warning: when the main SMMU driver cleans up its resources, any routine in arm_smmu_impl_remove() should not use any devres function. For the second warning: since those pages were allocated using smmu->dev via devres, they should be just freed by devres. tegra241_vcmdq_free_smmu_cmdq() is called by tegra241_cmdqv_init_vintf() as well, cleaning up all CMDQV resources but it doesn't removing SMMU as arm_smmu_impl_remove() does. Add a removing_smmu boolean to skip tegra241_vcmdq_free_smmu_cmdq() when SMMU driver itself is being removed. 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 --- drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c b/drivers/iommu= /arm/arm-smmu-v3/tegra241-cmdqv.c index d525ab43a4ae..ce7be8eeb43c 100644 --- a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +++ b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c @@ -555,12 +555,15 @@ static int tegra241_vintf_init_lvcmdq(struct tegra241= _vintf *vintf, u16 lidx, return 0; } =20 -static void tegra241_vintf_free_lvcmdq(struct tegra241_vintf *vintf, u16 l= idx) +static void tegra241_vintf_free_lvcmdq(struct tegra241_vintf *vintf, u16 l= idx, + bool removing_smmu) { struct tegra241_vcmdq *vcmdq =3D vintf->lvcmdqs[lidx]; char header[64]; =20 - tegra241_vcmdq_free_smmu_cmdq(vcmdq); + /* When removing SMMU, the queue memory space will be freed by devres */ + if (!removing_smmu) + tegra241_vcmdq_free_smmu_cmdq(vcmdq); tegra241_vintf_deinit_lvcmdq(vintf, lidx); =20 dev_dbg(vintf->cmdqv->dev, @@ -641,7 +644,7 @@ static int tegra241_cmdqv_init_vintf(struct tegra241_cm= dqv *cmdqv, u16 max_idx, static void tegra241_vintf_remove_lvcmdq(struct tegra241_vintf *vintf, u16= lidx) { tegra241_vcmdq_hw_deinit(vintf->lvcmdqs[lidx]); - tegra241_vintf_free_lvcmdq(vintf, lidx); + tegra241_vintf_free_lvcmdq(vintf, lidx, true); } =20 static void tegra241_cmdqv_remove_vintf(struct tegra241_cmdqv *cmdqv, u16 = idx) @@ -792,7 +795,7 @@ static int tegra241_cmdqv_init_structures(struct arm_sm= mu_device *smmu) =20 free_lvcmdq: for (lidx--; lidx >=3D 0; lidx--) - tegra241_vintf_free_lvcmdq(vintf, lidx); + tegra241_vintf_free_lvcmdq(vintf, lidx, false); tegra241_cmdqv_deinit_vintf(cmdqv, vintf->idx); free_vintf: kfree(vintf); --=20 2.43.0 From nobody Sat Feb 7 17:55:36 2026 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2089.outbound.protection.outlook.com [40.107.223.89]) (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 A69ED229B2E; Mon, 7 Apr 2025 08:35:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.89 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744014930; cv=fail; b=p45C6PhkeC8ASttKkN36FPTH7HqB2eYcEaxBSQGKmqDJOWXoLtA5UQZ8eTCMonDDNrfGR9ish1z9SeiBe4Bfr7fOlJm5yZnfezGq1HhnRBWXE+LN+ZOTnqSFRf/jF19K0IdtcDMTiEP3mo4egdfAKfo3wkMkY6bbunflnj3zOio= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744014930; c=relaxed/simple; bh=NNca8cPDQ2Dvl5eBSUwxZzZiPE5OfIVDO+HhP/oGK1M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=G5fWxLDfREK+xeGMueWwZqsweqZBQ8Kk112mlD2anolV66uioxH4XVjPxhG+nLcSGndlACjBN2m2glnsBQp9xso++qYAUCODqHb8sElNcVqTRGu0sBlL00OkYaFHoAlmOWk73pIBuOk7xHzRwIUUnUD9TtTjR7oTwns4beFpgew= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=HF9M/Ect; arc=fail smtp.client-ip=40.107.223.89 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="HF9M/Ect" 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: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: =?us-ascii?Q?278eWh9pdIPKyet2W3luiS0F4YOgAlN/r19wZg+CJYpy6pEuF3ckEaIkOlbB?= =?us-ascii?Q?4QoqBVytB0yclipmA8F+3K7fAoUhjkKXVou7ucn6dsLWlWRnDj6ocAmfYG1m?= =?us-ascii?Q?nWU7o8o6WYNIWbcltGTqKQWAFzXFN1tX6TBxRUpRgLeOZnWv75MBK8dp2HA2?= =?us-ascii?Q?faOsgP/wMiV2vwjRfQKPYyJPeTVIbE6MCcE/ClQlSfR4/ntdX+iswRGD4D+l?= =?us-ascii?Q?0XYpDo1D5RsVB4U4xjxX/r3X0jqKjI8jtA7TDHB9KNXiimmqZUkglVuQlClN?= =?us-ascii?Q?Ayby5MTUMciloxetrosGvLdi8zt7587RSfWHxb95Ujrh8MuZW924936tFzHg?= =?us-ascii?Q?zbXq5dQhGT1vC8emgL/F9IQMyty3x7cy11ugl/pBiEsVFIjE/MvonddfOlRw?= =?us-ascii?Q?/Xy/LPwPX4rhnlKXkPk+7IP1Vk9vwtK7HkGMnbU7+ta3kU7jhrMmJD2G5JO5?= =?us-ascii?Q?HTpdsmUxiOR/BPcKQtSBcGc22eEQQY7BGdcA/ZmJUXFq9cBRemJDbGw48lxt?= =?us-ascii?Q?sLX+i7I57HFrYx56J5Eyz5xi7JEFHTgQYqpo/NOYwewlUXuUMqAqZbobGJCi?= =?us-ascii?Q?pB7czpyub+e5NHoJIVkYsN+i6KkXtzdRPTqTjjnDwB0akO9G69deixOnCJ6U?= =?us-ascii?Q?Xzoew6axXOpJ3jtD5dceB3ofJlUKlSGLKlelCoZsLzTU2sXrjhwoyYEwA/Vq?= =?us-ascii?Q?ftsilX8bbgyaRrica5p4oEsXnzOj8fMmziSKRhuS+sx37Hac1VFmicpmjYZS?= =?us-ascii?Q?++Xc/bRc4DY+OUT2HcNrGpZJwhHnvz4RChnNObV94Swl5Oo9TvPKF0uPTuAX?= =?us-ascii?Q?oBnx7rtUE4RIE+AonVF5kGaTY+TBRM0AVI4hTDXbpzcsNjArMrfTZsAa+sGd?= =?us-ascii?Q?NOhudKmj19cpNWeTPHgzIPK1EgjmNojlJ68Q8XfuBF0vs73gn1TmW3kIN+SU?= =?us-ascii?Q?aCWrQHbQxZyO65upSsgHalHdXAwQmKEFuHrrVzVIXMkOgiiigR1JQYjGChDJ?= =?us-ascii?Q?7PNDrW87i0V30J/pCgFJ8j/CyFmsCBYIgqOq610XH4IS2esB0htpJGeL8peH?= =?us-ascii?Q?ZlKQeYQk31qtMqZ/enSDtf40ZqTEOH76ZkTx4kC7QEgFAzgWV/PzOn7zla8d?= =?us-ascii?Q?lceDgclo4+wnPYV1zBoWDA7jZilKqZq5T/gdAInTr1s4hKGj4tLxO7TeXfXb?= =?us-ascii?Q?AJysTERKGjRTuxjrQXkJDg/lUclhpfved3ol80yQ79OcdncET2D9o1PXymAj?= =?us-ascii?Q?TtHwcnrEKKDI62OphoCRWIHIXReGbRzDNqS0OZE4QF44oEFZbAJAivKcZzyk?= =?us-ascii?Q?m4CYpl2akgXUxwcb6tZb0n66XNcH9W8pSPTXZH+yCx1DbQr87ZDO5M8onyup?= =?us-ascii?Q?1669A38cae/fwfUQO/Nm0x2CY/V32qFI3Y//Cag8gLtCMV/Aahkt8nFLHLND?= =?us-ascii?Q?R0SQRwWyDjKejIf6SAFNI9wjLSyyut1cw1yeJHINeBVkYIim1JjhXalfdD+1?= =?us-ascii?Q?keRN29uSaOdnfNstwCca/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 Content-Type: text/plain; charset="utf-8" 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_sm= mu_device *smmu) dev_info(smmu->impl_dev, "Falling back to standard SMMU CMDQ\n"); smmu->options &=3D ~ARM_SMMU_OPT_TEGRA241_CMDQV; tegra241_cmdqv_remove(smmu); + smmu->impl_ops =3D NULL; return 0; } =20 --=20 2.43.0