From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (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 E5A0CD531; Wed, 8 Nov 2023 08:18:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="aM5ggnqu" Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5CDEBD40; Wed, 8 Nov 2023 00:18:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699431526; x=1730967526; h=message-id:date:mime-version:cc:subject:to:references: from:in-reply-to:content-transfer-encoding; bh=o4b+vqtKY9OOVsB1rEVpRTkAptYNaJoA44xLfvE+DI0=; b=aM5ggnquRc4JfgBaSl4uxeHgeNly12r4MhEqiy0Sr6loV1tZ9mWmA0bi XwwY6PePnnxvz8lp1wzVhVGS2o/ovsOqVdztnRGKoB8fs/Sis1bh2EPXv DV6fICVz6BJwYK/mWl40m82OZFclqC0nAujgRBnkKI+YJ9VB8rMG0mJgN nCgPQQrV8FplNTCvnxu71u2WdscYq/NdngkSA5y95REyjvZUmRJDn0VAO BLxCRK9oQPMCO53mPmIsoeenrOUJPX1j8hFRfa3fX7Y0TqmiCyrt+VZOA +h8NESp350gggYUuEZliFOFKrLOU1yRS+CYjCghTbyQvu2TEySefRp9xk w==; X-IronPort-AV: E=McAfee;i="6600,9927,10887"; a="420823085" X-IronPort-AV: E=Sophos;i="6.03,285,1694761200"; d="scan'208";a="420823085" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Nov 2023 00:18:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10887"; a="828883803" X-IronPort-AV: E=Sophos;i="6.03,285,1694761200"; d="scan'208";a="828883803" Received: from blu2-mobl.ccr.corp.intel.com (HELO [10.254.215.63]) ([10.254.215.63]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Nov 2023 00:18:32 -0800 Message-ID: Date: Wed, 8 Nov 2023 16:18:30 +0800 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: baolu.lu@linux.intel.com, Zhenhua Huang Subject: Re: [PATCH RFC 17/17] iommu: Mark dev_iommu_priv_set() with a lockdep Content-Language: en-US To: Jason Gunthorpe , acpica-devel@lists.linuxfoundation.org, Alyssa Rosenzweig , Albert Ou , asahi@lists.linux.dev, Catalin Marinas , Dexuan Cui , devicetree@vger.kernel.org, David Woodhouse , Frank Rowand , Hanjun Guo , Haiyang Zhang , Christoph Hellwig , iommu@lists.linux.dev, Jean-Philippe Brucker , Jonathan Hunter , Joerg Roedel , "K. Y. Srinivasan" , Len Brown , linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hyperv@vger.kernel.org, linux-mips@vger.kernel.org, linux-riscv@lists.infradead.org, linux-snps-arc@lists.infradead.org, linux-tegra@vger.kernel.org, Russell King , Lorenzo Pieralisi , Marek Szyprowski , Hector Martin , Palmer Dabbelt , Paul Walmsley , "Rafael J. Wysocki" , Robert Moore , Rob Herring , Robin Murphy , Sudeep Holla , Suravee Suthikulpanit , Sven Peter , Thierry Reding , Thomas Bogendoerfer , Krishna Reddy , Vineet Gupta , virtualization@lists.linux-foundation.org, Wei Liu , Will Deacon References: <17-v1-5f734af130a3+34f-iommu_fwspec_jgg@nvidia.com> From: Baolu Lu In-Reply-To: <17-v1-5f734af130a3+34f-iommu_fwspec_jgg@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023/11/4 0:45, Jason Gunthorpe wrote: > A perfect driver would only call dev_iommu_priv_set() from its probe > callback. We've made it functionally correct to call it from the of_xlate > by adding a lock around that call. > > lockdep assert that iommu_probe_device_lock is held to discourage misuse. > > Exclude PPC kernels with CONFIG_FSL_PAMU turned on because FSL_PAMU uses a > global static for its priv and abuses priv for its domain. > > Remove the pointless stores of NULL, all these are on paths where the core > code will free dev->iommu after the op returns. > > Signed-off-by: Jason Gunthorpe > --- > drivers/iommu/amd/iommu.c | 2 -- > drivers/iommu/apple-dart.c | 1 - > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 1 - > drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 - > drivers/iommu/intel/iommu.c | 2 -- > drivers/iommu/iommu.c | 9 +++++++++ > drivers/iommu/omap-iommu.c | 1 - > include/linux/iommu.h | 5 +---- > 8 files changed, 10 insertions(+), 12 deletions(-) Reviewed-by: Lu Baolu Best regards, baolu