Re: [PATCH v3 4/7] iommu/vt-d: Prepare for global static identity domain

From: Jason Gunthorpe
Date: Tue Aug 06 2024 - 13:12:49 EST


On Tue, Aug 06, 2024 at 10:39:38AM +0800, Lu Baolu wrote:
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index c019fb3b3e78..f37c8c3cba3c 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -1270,6 +1270,9 @@ void domain_update_iotlb(struct dmar_domain *domain)
> bool has_iotlb_device = false;
> unsigned long flags;
>
> + if (!domain)
> + return;
> +

This seems really strange, maybe wrong..

The only callers that could take advantage are
iommu_enable_pci_caps()/iommu_disable_pci_caps()

But if they are mucking with ATS then the ATC flushes should not be
done wrong!

So I looked at this and, uh, who even reads domain->has_iotlb_device ?

So I'd just delete domain->has_iotlb_device and domain_update_iotlb()
as well.

Jason