From patchwork Thu Nov 20 19:46:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 1871 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010041.outbound.protection.outlook.com [52.101.46.41]) (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 DF8BB22579E; Thu, 20 Nov 2025 19:46:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667992; cv=fail; b=qORYQc6AeCeKdDpFvvweUopoq+95M45kjRCwQvq6f/85ySilOt3EETgRNMficLw6wOYTTJYsPHipKMB2jPJQJLIUwqE+KpaTnPUISiM3H+aOpwYKkrX/yncN1h6VEORtgMxbgji3u+/sqtuSWVVciXSlno0jEUHTQv18tEfhHeY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667992; c=relaxed/simple; bh=a7Ax+Yppx4sR06ZdgpuBgpBzZ1KcHfH9MK5sICBANxI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tWf52f0XVquSLDzhLPpH3NOPVOpne66dwsYZ6bmeItZx3OhXYIXKwwsZD7HdPJoE/LBVTKRUDflh+GQRoEam1NKekOUVM5i4BgT9Qk7PrXvyMAVBKY/mtNRFIa4gnIQUMPL1aI9HdWKYh8kOFKDM16UyRx0uEEVo6whq9y4/btI= 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=ARbU2HsT; arc=fail smtp.client-ip=52.101.46.41 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="ARbU2HsT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OiXL5d7IIjp6rAoSo+ZwGCqxL8JYUv6OjuCiQTqtSjfPa0XejTIJvQvxwWiuN6L3lh9h6AD8aIGGLva+NGm2E6Pbvq9IhWICrFxd44n36C7DYHVAd2Pcn61iNg80zgHIIUKAMXubdfTNACqzXKjtXYCeMZOvK8btH7J1sYiv2QSxtowV58qr3RszqoRp4vh9VqAuw40G4Jcd0NrMTiR5Sqx2UIY6iYoM5rYQBZi50KOGPUoYUrbsXRf7OCKUvwUGGyqxJ/qXMjzRSNgV/zk39aNy2hQl5yZByI8y/s1w6F7fucPbm6VfSrdxzjcgalo8vFrldUDPc7Zwnfd0PrOSfA== 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=jrKyptjz6cNmuGFVbRBpKvvpe//IznQPvngnXo/D0zE=; b=h30aTjONQoHTs2q6MLS04+WiaY0i6a0Y85IQ8/AXxUUBvtMbHg9iyLQIXa4p30JeaT4qiD3z+yBBg49feBm8WOsxT7m89k5NaOSMCLvD/9+qYj96jraAQ/KPFm2uyFD2vpkIlVcEzVUil7vGw63l+E2WHAoK2MuZKYrAtZopq8A8YpdwsNe2cfXkB6Vky+SZ3UI67sy7Y7NEWl+oTlxpsOpE9NENAr90dIZI/qjXgccE1bC6nzJmibtu1gyiYE79UwlqvesFmnLZE0ukRtd5LmDEWqXmaa3rEHBvc4356JBzeE9nG7W+lRs+BaolQ9Oaj4f09lu7K6pW5e7lrXZU4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=jrKyptjz6cNmuGFVbRBpKvvpe//IznQPvngnXo/D0zE=; b=ARbU2HsTVurivnuXOyo8RKIlusvCiQIbO8h8sfbNlhuITvH0L+RnZt6IPhw33q+aDgH5tMIK9K/n8xSqQPlE+L15xcS+11uZxpNTX3isvqtpc75a/B4XXuWW5HBn8VlGgCq6k1q8JUgWOQJfsEgEqgKfKpm+zJn6VjIqZO/7gP1RmH1St+ICc7axpPdJmDWPuJ2X0m1QC8n3cimCs94DB9ng5320dwcXfIHYi7tGtLRm1u2T+ZQu8jSIbj2tRdXgHKUv3pohpGK31Xc0EjSzzXJ+nhqTdhWQxC8QFmhuVbmA1xHXg4phNAc91clXgTGZwap1mLX1Qs1yF0PZljY/fQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) by CH3PR12MB7716.namprd12.prod.outlook.com (2603:10b6:610:145::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 19:46:27 +0000 Received: from MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b]) by MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b%4]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 19:46:27 +0000 From: Jason Gunthorpe To: AngeloGioacchino Del Regno , Christian Benvenuti , Heiko Stuebner , iommu@lists.linux.dev, Jernej Skrabec , Joerg Roedel , Leon Romanovsky , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, Matthias Brugger , Nelson Escobar , Rob Clark , Robin Murphy , Samuel Holland , Suravee Suthikulpanit , Chen-Yu Tsai , Will Deacon , Yong Wu Cc: Lu Baolu , Kevin Tian , patches@lists.linux.dev, Vasant Hegde Subject: [PATCH v3 1/3] RDMA/usnic: Remove iommu_set_fault_handler() Date: Thu, 20 Nov 2025 15:46:22 -0400 Message-ID: <1-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> In-Reply-To: <0-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> References: X-ClientProxiedBy: MN2PR08CA0007.namprd08.prod.outlook.com (2603:10b6:208:239::12) To MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR12MB3613:EE_|CH3PR12MB7716:EE_ X-MS-Office365-Filtering-Correlation-Id: a96c500f-b0a2-4705-6e61-08de286d7d2e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|921020; X-Microsoft-Antispam-Message-Info: dF1PHsy6GRLGjB1eVe1VV8uhvjdAtzgSlW789nTQp5pbD1EKYVhUIEf2dLUaLV+xp3bILrz6F3w7hz2BMEcdOKUDBXh5dUK3YNTQUpml92jsX80PkeMW9aECKSy1zC7syhcb4VPm+0fnvH3AY5P6yzBzHH8kan/MmVdakgF+XWcuqVx4HdxLazguLLDTTP0HxjmV+fBi/PV7noERvw5//x56NV2UfKwJ0BpU/s0J5QLIXoq3mhbdxdd/YsM548NkBrAb0gYzRLhIhF0V8TqzswQ2WtUfVYVEEiD3ZnZP8YOCJmOrBMsJCl2X0AI3PdSgiXNBM9W1aJrd11uQIpOkfoDEQmXlbUyNu6+GrIaSdJmYBKvwFSKBPtMFrE2Y4j0avkkcxs5VZN8Cav7+YKNl1VLqDHMfcOf5P2sdiSjmgQNoANKDGDi5DLMmBIJdoUwcdqiNjPB94A321LSrgYTrCIlJyEm/re+cdi1Bo7Yc8l1OscirRCwhqm+2aLQyDV89N7qY/SnvI1aiAqoFggCnsN6gUE16I0KjEkFjTAoQYnanDsCmWPkMswghsWzL51oSRkDH/CMoQ4zz6RxpvIDUnvNE2cvr21ahZi2lJ22Nl84AfZBAqFBtytYnIJ+D94RrVGjUNv54E9AX6Ah9ZtgH/oZBhWF8JYqAsmZT4nhoc71yEPy0IeFQQDckNBXcZxIuAe2TfggSWpRycmQA5DFLLspHWodypwMt43S7s00Of5uK+8Xbdea0EiW6Iy5KXXbkvBAGfTARFafCqk9H1vde7Y3acU3JWpYkdJTVXiWrBowsIHw5HPS5CLrVDoku2EuXROGTT7VZvOJwVch6cmWis0SOxzuUf1LaCyICcedya363WTjSfowmEmPN+YTRcHBpiaRRhag3vddPYMDOLuaqYjgOHuKoKsygIawcXyHEBdqK/CYRlIV4pOoYLgDprH7ZQNnPqANcfgt8s0PorZN8rp4PX9kYWEvBF9svTQ8WrtqcbcQLWbNaHjKHfdP7f6I/DdnwiTjFqyWgiOfVQVaBxWZ/qKHRxqugDXUj75URyCtohZ4w5ffxzKXqESl4tIYs2vk5Qvqa/3+ZtKuSKwjIwt9pmk+epOsQVM7CJwosTes7/aqdpBGfVOzvJ2vFyaW6AhcSp92xO+ouL74wIILZ8BywEzKYeDmXfiOHmYBvQiEJxJ9PwUtpgSM7ypIhFxh4DwesmXdEzOeMP2h3epd57U9UpLv4oLqGfcxgAJgepQdIxs5h/JGqnV01HSJF5MexkLT5vYvjaPZdqYv6LASaD9QmjcASR1RdC9s8aN0Pzo5kr1lIhFM/FF60hr757sPPoLIYAI4JeuFCM5gx7cGSEcQ8WT63CGZRXwO2++RfUq70jajQ3NSEv93UK0l5M4z1E1cwSztDsTsGLkF3LtGkcCLK5g1o0I/1VjfJsIviu6e+J9wGqyPyJzBQHJ5DbcfmOiaWr8IrgvtAUlEThkDGx1QU4fdUvQjSwFjX5omGqRw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3613.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RGlPHjDFbrBxcG+C9N/LHjqlls1Uy2YcwC9ThDri72VUUVTGaXMVcnHDfAK+FN88b2b8UP8ACdkaWz+EHrWxAiu1q4KY38XovINlroAGTDVCZI4dGY3BccWim6iwzjliTKSZHECvQFJ5fD7Pv/v2wgvS73TXncToPB9rJVYr7Dawkw4WeSPKzxiaDX0PKXMLWLFkLRJP5irpZhG1NH+vF0wU8sGWdD2WqW1fEjSqMm/MlKZRdUBpx539d8seF3dhHC8Tpv1Sk6gMj9y5HEElljTDydIUf0rjLbJnjYE5eeytHsdNaHr3vFpwwgKNIjdaVCQL6eUYrplxEeBkrwknri2wi35VL5S3+i8cgpUOTeDuX53Rc+yNxi/tJGPGASqrxHaxnZPw5nr/8Se+oYTRStjn7tQG5D0rh2wVtqD00HWq/AkA4JB4eg5oqyLarJwyfmtpHS3cyRaCR9wwKEhTqcvA1Fa2Ju1MfKpUSNJwaGEKcYQpC9MmDTp6DqWdjelH5iXRSEGwsGWcpYlAV40wlhTwv4gke1lptvj7EJtjUnayhZn5rRRDQ5fZXwPHY0zugnkh9zlzvw49UBIeNvZiHMJaN7Mlo91KKSrJ3BeGPDx33n4LIZAKl4nl98xscNnhf8rs5f3Uu/UtnnjtK4zb/LEcmawIxt7hZhCJdt7VU8Aw3XjxMSwRoqOHqyY8FkOcCraZ1n2HzJ9/Lioft1cKs56zK+ABsfVsT2Wur1lyWZsT3TPP0Dk/NaD13SfG0CD7LJXN/GM/fQGOPgUeFL4ZmeqKGxIe7lQQwignSE6mQ/jcmGsDKQPYHCvXMqyTZi1Ut1huZTmGuop1EdpO8vr9bgBfN10HPcxc97qarubiv65n++T+blsQgfKC+X8ipAAKrQ8don6ybyyonsI/OBLbdBKUhS1Nh+lgr7Fmn6s4xj54UkvkWKDmC/ktqki50c08zCOjWPnLMgOxfh+AA+EVadfqLBAQvgOwKUQ5V8uTV1Esxw0Oen1paNUWf29WCfdq0M9p4eMNRlnLrM19TrMIL4a2AiazeLlVyW48ocX1jjwjqbS+aP2L8PUWjJFg6efy6h1wu/cfYk3ZWlyNSxNdY89gpbKVqc1JpeoAM6olBOWuHf8w2PKE/Hbd7krkZcWthc4TrU1G0hQRYhkANsVXV5ILqOW+IzBaLDezDNfMpgqWSp93xne3F+IxSLHBJb619PzSQPWuTZ1NyWZhQNrGzwRkgFQcEM/eorQb5SY7IIkV1QcLkzFdDpoyg/pgmruQM9KlMdGEwvXbiS+yW8oGWYtFZXA/w8EdayPqOnz3Gbzagg6+z0G6es8PMeKt1Bk7wrPteIDT4hK8GmZHe9xDUPfHLjFsSUIzKkFRdt3yFt+BP41ccrRI1HmDfjBKJ7zKgoNzWasww+QVs7W691gDtrkwxA4qwV8SehgvZgQmH/PLUL6yzy2aZx/rUfx0BlzaUCxlJHqmVW91PwiUSVJxQw+fPFx6KpupMLbNoK80u8yAextQpSn/gh28aK13qGf3xSK9UIjue1ZtPatodlVF1xawVIJBjdu2IioreGrZRtA= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: a96c500f-b0a2-4705-6e61-08de286d7d2e X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3613.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 19:46:27.4184 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2wbRwO94rnDJ36fZ+w4citcVj0xSOwKpXwrR0gxvh1N9Kf1dOGnlYHjq20+n+8iK X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7716 Status: O The handler in usnic just prints a fault report message, the iommu drivers all do a better job of that these days. Just remove the use of this old API. Reviewed-by: Lu Baolu Reviewed-by: Kevin Tian Acked-by: Jason Gunthorpe Signed-off-by: Jason Gunthorpe --- drivers/infiniband/hw/usnic/usnic_uiom.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/infiniband/hw/usnic/usnic_uiom.c b/drivers/infiniband/hw/usnic/usnic_uiom.c index 3fbf99757b1148..f7fb6246c83aba 100644 --- a/drivers/infiniband/hw/usnic/usnic_uiom.c +++ b/drivers/infiniband/hw/usnic/usnic_uiom.c @@ -51,17 +51,6 @@ ((void *) &((struct usnic_uiom_chunk *) 0)->page_list[1] - \ (void *) &((struct usnic_uiom_chunk *) 0)->page_list[0])) -static int usnic_uiom_dma_fault(struct iommu_domain *domain, - struct device *dev, - unsigned long iova, int flags, - void *token) -{ - usnic_err("Device %s iommu fault domain 0x%p va 0x%lx flags 0x%x\n", - dev_name(dev), - domain, iova, flags); - return -ENOSYS; -} - static void usnic_uiom_put_pages(struct list_head *chunk_list, int dirty) { struct usnic_uiom_chunk *chunk, *tmp; @@ -450,8 +439,6 @@ struct usnic_uiom_pd *usnic_uiom_alloc_pd(struct device *dev) return ERR_CAST(domain); } - iommu_set_fault_handler(pd->domain, usnic_uiom_dma_fault, NULL); - spin_lock_init(&pd->lock); INIT_LIST_HEAD(&pd->devs); From patchwork Thu Nov 20 19:46:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 1870 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011043.outbound.protection.outlook.com [52.101.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 E0CBA2F5322; Thu, 20 Nov 2025 19:46:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667993; cv=fail; b=qq9S1eHgli/rHbyTxzeWMJyBN5eg3hBpDc1npTS5ENGPeZzlMsmXAQYIViNrPME2euinyqBD8siKkJ82thfhNR2PdbDTNRgdwLqugN5xzYe8UxrKuJGPGyPISsg2Tgi92f35US8m0uk8DtlANiZV78ulHRwhY9aEcNcEzn7y1Z8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667993; c=relaxed/simple; bh=BbHJP+qV/jtMRBuUu3bPQiSTHf7cGImHdnm0KWdEamg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=REyU1izUGdfuzFhP0AGELeTKqN0+pUMQiCBYHveBFZrLrknlwUuSKpop7hpsxbmbfzr4y+Z4yo3JyqRGX8u6pNtCoYN2xxqadnGZGnJOjonIHhivnvkv4x4SXIuHny/HdzcYh4cRK5VQ8FoDzsBxwMKrDCdTtPsFa0A6FIZnKEE= 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=thVUQy5K; arc=fail smtp.client-ip=52.101.52.43 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="thVUQy5K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L1mdcoxMFYxkP45uIBq64fzEgU8nudtZLcq6cvpb9zdn3mqxZRi2PWE78kJf9Bz9WT9YnSVET5uykYpLAja6e/dUjzFwUTYVOEI5t8Gs9nyaRihpk1uoxE3so4VHOu0KNUzwXT0u1a+HL79huzuB85fh1miz9lOj6+p3vUSZ77x0rZns0Fsfkfq/rGpdPp4lksg1tbz+fyjo2qIc88V3niHa62B0VxJIHai4wh5BORt2d14kUYhisfWxW0cpG780zF7inQ3mjJMJO5OOCGMUmxChIVlire1tV4Dm11qPc77JeXcZpGqcOta7e6dHQi+08VycMIzAyab8fkxMiM8ZIg== 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=dBcI8fJ7pSO3kvEaeZGqBjP65dc71xIgYON6aI3pnHY=; b=fUEWFb3dw7f1LqE84abv89XQiQ24BneoHmhmeRYx6rzvWpsUIb+XK3cYe54/ZRHtWt1AVDZrMqcuQZDwiCT7OZECTHP+2XZbGWpIjLolbRveOeqUZa8Gsb5ddNoFPuRGFiSDLoZeo3RXFpTxTZQJBXjx3i4T9bnV1JRt4ltwAM0Tf9vPf6L1TdCaY6hvg/P3NDg1JVaihFM/6n4eEOUtUL1k+pLs03uFNp6JFQSSM7L+1WJFgoNHZZZE6+5hgI1trorGm6x+L3tieBuL/nnakXhW4dPUzTj1DEb26VMGarUqXz8r91Q9MKH9jVNKFGT2kE09TAWPxcI2YQ88Us2Jpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=dBcI8fJ7pSO3kvEaeZGqBjP65dc71xIgYON6aI3pnHY=; b=thVUQy5KHouM2jcSNUKj27hWp4kNcqWugQVwpHei1z/9geI3LWuUZPSxrP+jpF0Cf6vYHK0TbC80IRE0Gr3qGbaZGZlm2jp43PoOVit/Mcv2TCxDpYEmOtCyP4YqJ443doZJLdVTMTGKR0KYHD4O/UWEG4IMhSuG8Ac7QoHOj7poE9xK5VSCBan7JUnUQKLe57+Nh5w/pCE+Uqqn0+/NQGkw7FGAq9SVzi1OAB/F1UwxQJrMujxvdqGJv7qmqK8daJ+040HhH4DMXUyfWlCK2z5WodR9YffKZYdQ2eE8KMMfMI+yrcz8Jl5x8w0EExa+NMPiW7AglatlYp9W09skgA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) by MN0PR12MB6101.namprd12.prod.outlook.com (2603:10b6:208:3cb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 19:46:27 +0000 Received: from MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b]) by MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b%4]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 19:46:27 +0000 From: Jason Gunthorpe To: AngeloGioacchino Del Regno , Christian Benvenuti , Heiko Stuebner , iommu@lists.linux.dev, Jernej Skrabec , Joerg Roedel , Leon Romanovsky , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, Matthias Brugger , Nelson Escobar , Rob Clark , Robin Murphy , Samuel Holland , Suravee Suthikulpanit , Chen-Yu Tsai , Will Deacon , Yong Wu Cc: Lu Baolu , Kevin Tian , patches@lists.linux.dev, Vasant Hegde Subject: [PATCH v3 2/3] iommu/amd: Don't call report_iommu_fault() Date: Thu, 20 Nov 2025 15:46:23 -0400 Message-ID: <2-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> In-Reply-To: <0-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> References: X-ClientProxiedBy: BLAP220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:32c::15) To MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR12MB3613:EE_|MN0PR12MB6101:EE_ X-MS-Office365-Filtering-Correlation-Id: 34aae8dc-92cd-48b3-99ef-08de286d7d50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|921020; X-Microsoft-Antispam-Message-Info: 65WBDMgqqVAxZnVT01bMGM8KdydzV7gTMizu0QelHI5S0H99G0ByrV94gFN3hzeBtta6VibAtVYzNrITrdajQPlrm0684H272PkeL884rg8JJ4ahd7PpgtKkjcrtCI5LMVQP7oqXWSPJPKHs6V2nDft4cNu0aCrkLDWXxmiB1AnAKFjIpG0rgrtjkKTW/MJG4L0u5kx98welk8hos960+/7C4JiGvJj0fdhnZ1t/JTZndMczttC+0oiKQIfMG8FOPoLCL3lOcGBHRUggAbKKEENtzxo1jbwAdtUpv+EQWB17esa70rOVRs7i7T18NZRZcP4qXURR82+Ci8HRdXPGssFWwV4ujgb+A1AUAw2O+VgJtZUZHZW4g9McWjXQ3ZFBRzh8ph93xelRRoFlAHVarywduSH76YS5ucYDdEiqUtZQl1tLsBi3Ph8nkIqusO9pYY6fk8Bos+BcBxcbh2fqfAgp+//QnorSo/U64FNQQYRg4hTCEvAvtmgA7NyiINi/462lv2Aq8qOxbOB61EM5Co+sjphJYkBFpCTPHwqGAHoslMwSGMUdfUlNBU7F4HjH1oHPyJ4PIyf4N0M3ApFtSAOB04YjPOdsoWYPnzEB+Uj8D82tQaBcNkPJNmDlEjOXYNO/WXOS+NI98h4hTr5CvvU+V3jbmEOufE6JWh1bFXi9oFLZh615vkvnV2RYQdEj8QBVcH6+Y9wCuiDchTwqEyj5m+VqRpk9Q9OXntE6V1VIerRb/RKpl3wU5lOr3Bxh8v5mM8A8uOz4Ni1J6BbnXbRnTy6advkBfChfVrGQRwwOU9rSb9pT+YSzD+t99JvJlafwKTpKHvc9gmBl7EcXkG3f8ebolWifJXB+crt893R2qOcJM6xVMDQXEaAHa05A0ME5I96ycfvPuxDkk7ilJvTL2+6+gugRbl+NGC6m30RoqforPfUTTx+7oz4LBQz95ZchrksuMCcgJtwBd4YTLHLmMGvKbzlBLVf5Q8EK2rPtjPE+Mt+RT6Z7PyiEMqbcEqF/mL+5G9s/4+AhbEhoz9J9of03C6zC0Ao6bBmgQxLftas0sj3v57GcPvK4srA/hpYZDURotvbWG1mcQyl2IsfxVpK89n9632auwJiFLbKKPkZCFLkayFnyDv6ehwVn5bWKa+Of1lEqu9N1LneEFYtyLDQZsKCvk4DFFlN5IdI/aghjvbgTIKtvDAHh0FFfbpbQYPMO4iPEhI3cWIq47VDXlVwLYoqkhL9rAZRQlJk667oGo2oG5G6oI8sNS+zwN8bdoHX/o8UK7SFvWIc3LY05K2qDlPQGv4gQiCBrw3PseqeZu4gqn5NscVMZhn8w5buX+9XwN1C3XKBR3rFGI5a9KAc8E0S0DTFx2zwUZtA2vK/oOdeiMnzDVKPY+zNyhdiIjPrjYgvtOO4hTCnc4QpkABC4kcyZJg3jvAXPXkOxEXychLWR/1JyaTn6QpveoO4+6hXYwVNhDuhMWjf9TQboRz8LeyL7GfDFpUUW3pU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3613.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: snkVGmDfxOTIr24J7weG8L/S32SYsKFi4c/knUOwI6WdPZr/12vcqdf8oA/G355mTavySO5GZEWQyLsblrZ6FiVJYVodxK2ChkaoiXxs3VXHDqomxPElFL3mnbLlD7eQX5uRr8mhUVlZAqmPgfUjRtin4xC8tD6R081dRj2e89BoGcZRsk6VKsZFztV1l0bD/iSJGL1MWFdPzVRFiNlRZp8kHaAB/hU7oOICIc/yKeOH32IrLCo1l8PMp1kS+qVNfnbEoX/xp9WoQfZeDGPDJzBi61rmObiIF5/nwohkvRaruhGlmxM0FNvDhVtv2tErf9Rzkspt81j/oWvqYN+6KK0RPAcWHAkk7ZTDMQt4D/SE8G03n7jAfHlsa4jUOv4MHo303wcpdcPutuNsMc+fqs7Bc38FAWzJ+oe9zidDxcZMYb9vM9eW/F698nHAQouDl7YKFMT/2q6VxE6A7hGV5+dyl4hZs8897pEjDBSnzCs5pnhzdpaRWzm3MkFot695Z1SIznHhzPYYLWhhtCL91u0qwjSk/2JoWJXnGUzSKgULbdkbeojbkAEd55aW+MUKxZvc4k34XBYm58oFwclRdPNKbIo2Le+KqxQSgaKpPYMnQmUeph3ZL19WKECzSFkq8j7OWCHMagnIG32012IwEp1Lv/7UAWybwQ1zgPVMt2rGo6deGn93y9ThT3LHsBNLP6uCcZq7/kgSXlV8NZGWc4SrEPY13tZ4sJeHD61g9gI4ifq6Ois6DTKYCndwKTpLuPSShdriWOUVE6r7rMKvnPlWl0SZ40/Dn+bwne2XZ82cxmHQClNyX8ui2r5D0Z/tle9uDQVVAzGCxMb7rzUKQYt3nMGKiJLtCiLX5NpPf0eL83rso+Ykeu+FlK9CZmKiEbVaNwhwBKnQshqcwNLu2ZfBhlE/1pfHGkrOqw3M1CsmDwnSZEjBJxliAsOATOrmrxFfk9FSsXTY4ZEjuHAJOZvaljwTOWaSZ5l9q0X/YBC8I4Abrh3mgUDVNaszXrhV2sbofApqqP6CKy+KVYis++tYBat/1L8UQXxJALcNWY/v/rJFi/HlYuLwET3qbHGWMq7WJOgoUlejDSwF1Dl+pEmtdZOVww6bZjn8/1+pwtVaWM5ozUZWUw8kUnwed6xJ6QBx1/WHXgkI+gZLPcASfFVkYH3ozvA61nQeY2xCvZkrsf+fmj2LAaPxBB2aIv08YV6H+AN6Lg7pOWYzhZ1mmMiT+0EORNDb+SI/PyDcs6S1G5ximBD05ameSpRQw0V1j1CySzDmYsb7Sw18mwwVS+Hxjz/EfeFyLk6rTEwfcr9pwHP2Ad+hADUdS+83C+3nr6of9d9Moi2CrFGsxTqV24443q1LCuv55SJ4mpBB9UNCZ6Y2l+aQ1Gjfc27qeBfT4r5Jj/rKamgzi0E4372rl/Fp/OP9Zf2My4GhGlKOVUra4+jyCcTL0hoPDW98AIewxfuOuN6b2U/vHrx64MxKOptBiUnz8W9pheSYAZ4fv7wAlmvHTQSXFVHdwNNQPnBKU3AoxGRMEoS/pulJao84JEtSqbfmxGBaiZWb0p9gtoE= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34aae8dc-92cd-48b3-99ef-08de286d7d50 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3613.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 19:46:27.1240 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SHNec6i9hVUVCQocpadLPyw5PwiZbHq45EnfkOSdAQH3TyTDBQWEroZnDXmzXi+M X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6101 Status: O This old style API is only used by drivers/gpu/drm/msm, drivers/remoteproc/omap_remoteproc.c, and drivers/remoteproc/qcom_q6v5_adsp.c none are used on x86 HW. Remove the dead code to discourage new users. Also remove the domain == NULL print because it was intended to protect against a NULL deref inside report_iommu_fault() which is no longer possible. Just always print the fault in the same format if it could get a dev_data. There is no value to be gained by also printing if the domain is NULL. In today's kernel when the dev_data is populated the domain will be made !NULL very quickly during iommu device probing. Reviewed-by: Vasant Hegde Signed-off-by: Jason Gunthorpe --- drivers/iommu/amd/iommu.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c index 2e1865daa1cee8..072c80bb2c2b3a 100644 --- a/drivers/iommu/amd/iommu.c +++ b/drivers/iommu/amd/iommu.c @@ -840,29 +840,6 @@ static void amd_iommu_report_page_fault(struct amd_iommu *iommu, dev_data = dev_iommu_priv_get(&pdev->dev); if (dev_data) { - /* - * If this is a DMA fault (for which the I(nterrupt) - * bit will be unset), allow report_iommu_fault() to - * prevent logging it. - */ - if (IS_IOMMU_MEM_TRANSACTION(flags)) { - /* Device not attached to domain properly */ - if (dev_data->domain == NULL) { - pr_err_ratelimited("Event logged [Device not attached to domain properly]\n"); - pr_err_ratelimited(" device=%04x:%02x:%02x.%x domain=0x%04x\n", - iommu->pci_seg->id, PCI_BUS_NUM(devid), PCI_SLOT(devid), - PCI_FUNC(devid), domain_id); - goto out; - } - - if (!report_iommu_fault(&dev_data->domain->domain, - &pdev->dev, address, - IS_WRITE_REQUEST(flags) ? - IOMMU_FAULT_WRITE : - IOMMU_FAULT_READ)) - goto out; - } - if (__ratelimit(&dev_data->rs)) { pci_err(pdev, "Event logged [IO_PAGE_FAULT domain=0x%04x address=0x%llx flags=0x%04x]\n", domain_id, address, flags); @@ -873,7 +850,6 @@ static void amd_iommu_report_page_fault(struct amd_iommu *iommu, domain_id, address, flags); } -out: if (pdev) pci_dev_put(pdev); } From patchwork Thu Nov 20 19:46:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 1869 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010041.outbound.protection.outlook.com [52.101.46.41]) (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 793692FE05F; Thu, 20 Nov 2025 19:46:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667994; cv=fail; b=pN0ImOZkJ7Ze0sxov9lhQ7oI0+CsZ262gptz9n5+qdZj00hZNdRjv2KFMk5euSCYaHu764A8rQzakUGIz4hNHf3YBYYe69JwTnUdoJCIN+4mRAvo4JNDIij4nEJ7e4dfpD4tzvi4oO1LKQq9bqDg4b2orZiS90hoM+0Q1Pkf4dQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763667994; c=relaxed/simple; bh=j2Wma9iNzPpLiaCac33xq32fvsk/C3C6mt6T0A4qOUY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tZ0iU+GYLpFOEQaOdhinwkU0nD2xnk7gpxLdp5MtXmwu5yCgns5ZTfjYc1RES8cNuzrhwkvjo6dFX+F8zpe64Uu6Lsb+pZclsVfOBicevyfes0gvhAVvsbKi23shvcwT2KUyFixhAYm5YxYLNMKBtEsAFzTQhS8KNE4zBCw3cD0= 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=pGkrqpcN; arc=fail smtp.client-ip=52.101.46.41 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="pGkrqpcN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=W58+MASIqltE/uK9UORoUBX41/XQUODiISssGRmWsLN7/xm5YW37qOb9xVsgJUDKg61BBIBP1d5OgX0OuE1uDr/7JUkaTKtQVf27eIZc7UnkoQrfJaQZmE4uquPLIK5Ret8yIaPNIzX40xJvBZmbXLUKXUcG3qywMD4G4NvBbtRPgCDYMNYbd+QIlJgFBKznZj3c6fNi7lm1BwTQu/7DzoRPzgxCDc2HfcsRNj5MbUdFRipzkfpPBpFgQq55NCUoGel1cqz+70VpcYsdJIHn6qI69X0jzxHQ/pq+qy/30KViCzEphIh38c4hslT/5sV+U68rHQxRAYEAeuz2aTPXzA== 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=xwksIaZUBHrk3Cpx19gRVJDQJrhMprXvxB9Quh9oIcE=; b=bGdkHfq1ZJWz1ruKgZbBLoyqBu8KEcBN2MggEQ+Pm11eUjPKRnn9zqEcrScde2OIYhuPqSpi5onifprkeP82AZlbGjYpqzFJmUhjDHGjj7QP7bGmMBGwZOxF2PiEFwRL7+INdyvt/5SorsdN2+XDngEELIMc006kEgnh5zfRX38XXowcOEhMGQx/jAe8FTPryjlfx68F5nqW8ZEtyKPhz0EAD+gQPiXB6m8PF7+MWfk/HmYacz32yILpKs4wOGvtG8sT2CNocmXVhJDqVeNGr3Ta3bHe0DNqYLH5/BHwAAw6CfXWwFRT7z3IbaAcyp9sQJaCrJLQVDeMYSJ5OaPB+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=xwksIaZUBHrk3Cpx19gRVJDQJrhMprXvxB9Quh9oIcE=; b=pGkrqpcNEMWN9pOfFQN4hVy7SgrGFIECXdxwGEOAHXiYtyj9VWGgWDtx9so8JYTs0jrSiIYt/U9UBeAvbd/5/YZzc1CE7oPlZPTFY4j/C0/zXsErlijJFSsXPfAAFylrugMfbNQXTSE5rklAPOSutkmEbmQJRl/NQFdiUOCJF22nNKSRsv7zpulaMncJHXDlQNGdkXoju3OavfDnl7M3tyJ1apwTojO/14z+ZRX/gffYWUccj+q1QYYp90cYw4L1ryvex7m3x4j/sEiEutqfQ1Te8iqFggaGdSLYGdHNXLPJARICsL6xMb/CTiK/16AebZsEkCydAygv5bd8wUloiA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) by CH3PR12MB7716.namprd12.prod.outlook.com (2603:10b6:610:145::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 19:46:28 +0000 Received: from MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b]) by MN2PR12MB3613.namprd12.prod.outlook.com ([fe80::1b3b:64f5:9211:608b%4]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 19:46:28 +0000 From: Jason Gunthorpe To: AngeloGioacchino Del Regno , Christian Benvenuti , Heiko Stuebner , iommu@lists.linux.dev, Jernej Skrabec , Joerg Roedel , Leon Romanovsky , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, Matthias Brugger , Nelson Escobar , Rob Clark , Robin Murphy , Samuel Holland , Suravee Suthikulpanit , Chen-Yu Tsai , Will Deacon , Yong Wu Cc: Lu Baolu , Kevin Tian , patches@lists.linux.dev, Vasant Hegde Subject: [PATCH v3 3/3] iommu: Allow drivers to say if they use report_iommu_fault() Date: Thu, 20 Nov 2025 15:46:24 -0400 Message-ID: <3-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> In-Reply-To: <0-v3-e5d08e2d551e+109-iommu_set_fault_jgg@nvidia.com> References: X-ClientProxiedBy: BL1PR13CA0226.namprd13.prod.outlook.com (2603:10b6:208:2bf::21) To MN2PR12MB3613.namprd12.prod.outlook.com (2603:10b6:208:c1::17) Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR12MB3613:EE_|CH3PR12MB7716:EE_ X-MS-Office365-Filtering-Correlation-Id: a361fd4f-040c-4276-2b75-08de286d7ec9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|921020; X-Microsoft-Antispam-Message-Info: 1U5rSgFnDKWDa8+TMlTEifqJ5i+RP0n7I17DYpxoXellj578q4U4Ec6cwQcfh8snwhx+eYZ8uz0JEFYCUWcSPEmsVblL/xEQ1XTN3yWPwjr9leJVSMh2mAAw6aKYDZP+5/vqvAXxhjf+KlcGyBiCafz2dv4pAVIjuCX9kTOPN7FAaDLJXgYL/CH0Pw+qmkUu6S4Nkm+uEi5xAgEmhdsXgUXM3Kq7CLbncOoyfeJ2Po/gQRCRDNxn2GTp3TT/mXKeZqeZAS1I7m38i3ymcaUaRP5aoJ4uugyVJ0ed/S7OfY6Jpfblqn5zGpJOsB39tAvd53+JPQd5POK5gPxg0kPzq439uyrQt19Dr+D+QDgot9IWJNbaLcWJ4cjq/nl4fjzZRXe2dytw9Fu0S317PgG/J9Z6HRiZ69/vfBc4K0jHU/H3i/K4pXuaWqBe7n/dBgszHsbQcUa5Wslzw7K8NUGudzfa5s4NCZQ7P7MMDBTPeAY97jzOIHsAviP8VRiI8g+FlRc10OcU8fs3Ds3NrexvkQBlKDIC3xbws1nT4uEfB6zF/fRSVjl4jj1RoYejKgpb42eWI7SsbuKSHAObS5sZXxmgG8WWa+r1l1DJDvhpucLF+H0FWZQuWGDYtE4FD39JI7lsK9ZNSnSwt/LlyUH4zsLArBONYqYDF82GaLpgnJHC3rIDQsGDcGIn+J7S41Q5R1Bp2gHrgFZOO2rgISA/mWMg6iKPwfPnVLtwdAjGWgaBtHY5mFwZNc0TfbmTNhWVFkQwtmJcJ/SdbiAvNlOe640R4rkdvDCYUCuWBVzmmrxadVbyBx2co+ltSgt/i+3hCSEmdzPL9BfRyTineXgI/w3V+oV9UG7qLulZyg73g3XFdoGr8ql3x3pr8UVoWJS97y5KLh2gXW1m8ivn2QoKoKpCubCQc0YyQ4R5BT6RFsHJLH7MOsdYzW2Y+pKdCdvqoAyrZT+vWr3iYbWCy1XEYiwAOhyirIRwX7XHgsRbAqCe0i8ll5YCDocfdqxtQhLIwiZD4NzsuEAzl7wTExFWwmiy7I+6fHOq7mvH54Cf7qxTTVrOKzxSbx5oR44eFJoMS/ul/zw8duTW7VnPjkOf8eVbnOOgpx3dKU+tseyNpdl0tQV+GSmqxvbphrGqYjRNg7G6d0cQnrNpMLaBGCzreQ7S+f6zaN6s0BtXlaZzmHE/VmVoCBQgmpKXvPPalrN8l8fPnVz2VM1/Q8PNK5UIgVezjCzAF9+DPMVxCTG26I+12sLYuhGcCYQcAwhNs9uSWyNOuTiGTcuoOUTLJW6nl0ge+wa8/BaRT8dKuGYRZnGd5nNob8Do1d9No5MLdpHhsaEzAjRnH86GBjsq3xR8m8pYElDQ5qjTzPYBNW3CGQ/q+dI5R+XY9YcDCBUZ8kwYTQLk9T6UlBzX8ThFFvcr2iEtTYj2lku/z94sUSUbYRwvLLcyINc467QCJGnMykVCA7lSpNymLUnF27jKOwHXV3srHna4SW2W6n1U8Rq2XF0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3613.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /GxmzxXkApRnaluvJRu3jkBjWN5lJOq1QqjIWOH7Q7818OhzG0onUHl2L7DJ3d2fzg+KNosqS1JRRwHSJEFYG/DpjUT79jHBTLOGIoBGzK0SrOf5qC5mPhFenEYzVoUlgNG27IF/zgKhSgnWdXAl43Cnl84FPhIIppxK8oK67i6a4a5ATtUvAeNr2ksmLboGBuresR394QaRDjR7vdhmtfENnsoZKP/Jt+IX72wqBPyhq7cc5ptPU5Ec/vULVwytNcbXkC6Eiwf2a4H0m/L5OXkY6e0851Dq87Ez5gEm7/J+NFkeelUPZCgUNP9eOEtaMqDfvsyEOPhalf3lxeYW11Mk7WTN+7iRcasP8aBIgByrQ+1u6H0gzLLvMErgkf0EKsktbezTkDnL3Me0It7ZM7MfpVRj/ZmFbstXfSmtTAQTWpZzvxnyr9tsP2xYzawiTJ7cHIh7X9z66188ki4yXDC5sFlaBmQzQAsiPZveDxC6338hLJxWlyn/3q4v3dU3M+SpO2gqiVPXsUxBNca8IJ8ZvSJl3U9Y5k7PlhN8KJtAVUz2jmynKjhEwuJLoh7oW7f2qRHc2yy42RPYMTvGrB1QAk7E1yyVyp7FqTAImB6bl+fMF06C2Oks+jgx83w4ySP6XPcs+4KeF4HC3ike5zBv2Van0YHuq8dcXhqFa3C0vRuf+8vZSKniBZVQcjoKyKropdhIkdRC6UH20qbzIfreVKeaykAr2lXjEd4AG+Rxex+6PwHQzMAuDvTCY26MQL6I+KEc5nFSkUBkir7zqIbs6MVnJQ5xYcj/jIcYTv8r4SMdl/cAxbkYyTOonFAGKYDPMGAHHL0Jaypy4pHTK45NKZshOF2gwGBNTpLDxSI+Z/yiyW2gGtccq0/1Qi72jMf5Koham6yjv101muqlI1NXmQo8ynI1SYAvjSbsElIQjNllyYailQzpv2QxgXRkXiNoyvdZGJ2+XoMixVNHKX5xsQlXluO+tBRSPmWoFZRdYjokHr9AvBKwmyer1EPi2vfxplL68XDzwd9QtdnM+V6Jz5WTZBZgGVOaeUvtGu2BYSW8im+p3jiYbzLM2HmJtMUoHPEgD/oa8vGngyBGUtJFg0m3skbCw0B34/jHdsBIMmhmz0vyLt3nxKcPoiTATyFXFJZwe+wwydzgaxTdj/q/oP6942GtE2BIZiQnnpbIvsJhfN2XhhjSuyJT1up/AEt8LZWxCBhIAceX3NPFXHogspkzjzLFFdWUxphNNudhRd/5djA3vdVx4oDOw2q4PL5uHkV6598a9pFiBYv1+s4dIea1p3twaLfFcUnvR61fjOADm828jyBkMsKjK15Yb6N18zoy9ex76foERBTXRuaj8pihtlo7NlRZl8aCiksH5+Izk5+eD2Qr2t4tSilJdOtSlGJD8uy4sDFNegr6v8HeNZeq4aE6DtRNV4/Yl066fsx1hVJ8apgSI9aQD/SW6SbO9xxdLc6pt+9/jEVyRQM+WZ9rFwG8z3vtbypic1fJe0rB8gYgDyKUOShPGaL+2nOsM3YCbLU1t5oNh5ZECVeLQA0EypUpy7lebgkrin4= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: a361fd4f-040c-4276-2b75-08de286d7ec9 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3613.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 19:46:27.8975 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 73Roy7+/QbPiL19ITHL7dbXPx2hUIk8k2iNy5AKm6D16jFwogJ5RaTfdTv54Y4gK X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7716 Status: O report_iommu_fault() is an older API that has been superseded by iommu_report_device_fault() which is capable to support PRI. Only two external drivers consume this, drivers/remoteproc and drivers/gpu/drm/msm. Ideally they would move over to the new APIs, but for now protect against accidentally mix and matching the wrong components. The iommu drivers support either the old iommu_set_fault_handler() via the driver calling report_iommu_fault(), or they are newer server focused drivers that call iommu_report_device_fault(). Include a flag in the iommu_ops if the driver calls report_iommu_fault() and block iommu_set_fault_handler() for domain's of iommu drivers that can't support it. Reviewed-by: Lu Baolu Reviewed-by: Kevin Tian Reviewed-by: Vasant Hegde Signed-off-by: Jason Gunthorpe --- drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 + drivers/iommu/arm/arm-smmu/qcom_iommu.c | 1 + drivers/iommu/iommu.c | 6 +++++- drivers/iommu/ipmmu-vmsa.c | 1 + drivers/iommu/mtk_iommu.c | 1 + drivers/iommu/mtk_iommu_v1.c | 1 + drivers/iommu/omap-iommu.c | 1 + drivers/iommu/rockchip-iommu.c | 1 + drivers/iommu/sun50i-iommu.c | 1 + include/linux/iommu.h | 3 +++ 10 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c index 4ced4b5bee4df3..f68a0576b9a3a6 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c @@ -1643,6 +1643,7 @@ static const struct iommu_ops arm_smmu_ops = { .get_resv_regions = arm_smmu_get_resv_regions, .def_domain_type = arm_smmu_def_domain_type, .owner = THIS_MODULE, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = arm_smmu_attach_dev, .map_pages = arm_smmu_map_pages, diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/arm-smmu/qcom_iommu.c index c5be95e560317e..173d5957796790 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -597,6 +597,7 @@ static const struct iommu_ops qcom_iommu_ops = { .probe_device = qcom_iommu_probe_device, .device_group = generic_device_group, .of_xlate = qcom_iommu_of_xlate, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = qcom_iommu_attach_dev, .map_pages = qcom_iommu_map, diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 59244c744eabd2..8d9086a37671e1 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -2005,6 +2005,9 @@ EXPORT_SYMBOL_GPL(iommu_group_has_isolated_msi); * This function should be used by IOMMU users which want to be notified * whenever an IOMMU fault happens. * + * This is a legacy API not supported by all drivers. New users should look + * to using domain->iopf_handler for the modern API. + * * The fault handler itself should return 0 on success, and an appropriate * error code otherwise. */ @@ -2012,7 +2015,8 @@ void iommu_set_fault_handler(struct iommu_domain *domain, iommu_fault_handler_t handler, void *token) { - if (WARN_ON(!domain || domain->cookie_type != IOMMU_COOKIE_NONE)) + if (WARN_ON(!domain || domain->cookie_type != IOMMU_COOKIE_NONE || + !domain->owner->report_iommu_fault_supported)) return; domain->cookie_type = IOMMU_COOKIE_FAULT_HANDLER; diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c index ffa892f6571406..04a5836bf36000 100644 --- a/drivers/iommu/ipmmu-vmsa.c +++ b/drivers/iommu/ipmmu-vmsa.c @@ -884,6 +884,7 @@ static const struct iommu_ops ipmmu_ops = { .device_group = IS_ENABLED(CONFIG_ARM) && !IS_ENABLED(CONFIG_IOMMU_DMA) ? generic_device_group : generic_single_device_group, .of_xlate = ipmmu_of_xlate, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = ipmmu_attach_device, .map_pages = ipmmu_map, diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c index 0e0285348d2b8e..ccf6fdeb64a261 100644 --- a/drivers/iommu/mtk_iommu.c +++ b/drivers/iommu/mtk_iommu.c @@ -1018,6 +1018,7 @@ static const struct iommu_ops mtk_iommu_ops = { .of_xlate = mtk_iommu_of_xlate, .get_resv_regions = mtk_iommu_get_resv_regions, .owner = THIS_MODULE, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = mtk_iommu_attach_device, .map_pages = mtk_iommu_map, diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c index 10cc0b1197e801..3dd6222d210921 100644 --- a/drivers/iommu/mtk_iommu_v1.c +++ b/drivers/iommu/mtk_iommu_v1.c @@ -581,6 +581,7 @@ static const struct iommu_ops mtk_iommu_v1_ops = { .release_device = mtk_iommu_v1_release_device, .device_group = generic_device_group, .owner = THIS_MODULE, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = mtk_iommu_v1_attach_device, .map_pages = mtk_iommu_v1_map, diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index 5c6f5943f44b1f..7ba67600f32915 100644 --- a/drivers/iommu/omap-iommu.c +++ b/drivers/iommu/omap-iommu.c @@ -1723,6 +1723,7 @@ static const struct iommu_ops omap_iommu_ops = { .release_device = omap_iommu_release_device, .device_group = generic_single_device_group, .of_xlate = omap_iommu_of_xlate, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = omap_iommu_attach_dev, .map_pages = omap_iommu_map, diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c index 0861dd469bd866..932b5a62bac572 100644 --- a/drivers/iommu/rockchip-iommu.c +++ b/drivers/iommu/rockchip-iommu.c @@ -1173,6 +1173,7 @@ static const struct iommu_ops rk_iommu_ops = { .release_device = rk_iommu_release_device, .device_group = generic_single_device_group, .of_xlate = rk_iommu_of_xlate, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = rk_iommu_attach_device, .map_pages = rk_iommu_map, diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c index de10b569d9a940..13c37b1be481d7 100644 --- a/drivers/iommu/sun50i-iommu.c +++ b/drivers/iommu/sun50i-iommu.c @@ -848,6 +848,7 @@ static const struct iommu_ops sun50i_iommu_ops = { .domain_alloc_paging = sun50i_iommu_domain_alloc_paging, .of_xlate = sun50i_iommu_of_xlate, .probe_device = sun50i_iommu_probe_device, + .report_iommu_fault_supported = true, .default_domain_ops = &(const struct iommu_domain_ops) { .attach_dev = sun50i_iommu_attach_device, .flush_iotlb_all = sun50i_iommu_flush_iotlb_all, diff --git a/include/linux/iommu.h b/include/linux/iommu.h index c30d12e16473df..941e4971b05fd3 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -659,6 +659,8 @@ __iommu_copy_struct_to_user(const struct iommu_user_data *dst_data, * no user domain for each PASID and the I/O page faults are * forwarded through the user domain attached to the device * RID. + * @report_iommu_fault_supported: True if the domain supports + * iommu_set_fault_handler() */ struct iommu_ops { bool (*capable)(struct device *dev, enum iommu_cap); @@ -710,6 +712,7 @@ struct iommu_ops { struct iommu_domain *release_domain; struct iommu_domain *default_domain; u8 user_pasid_table:1; + u8 report_iommu_fault_supported:1; }; /**