[PATCH 3/5] iommu/arm-smmu-v3: Add read_and_clear_dirty() support
Shameerali Kolothum Thodi
shameerali.kolothum.thodi at huawei.com
Thu Nov 30 01:05:29 PST 2023
> -----Original Message-----
> From: Jason Gunthorpe <jgg at nvidia.com>
> Sent: Wednesday, November 29, 2023 7:35 PM
> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi at huawei.com>
> Cc: iommu at lists.linux.dev; linux-arm-kernel at lists.infradead.org;
> robin.murphy at arm.com; will at kernel.org; joro at 8bytes.org;
> kevin.tian at intel.com; nicolinc at nvidia.com; mshavit at google.com;
> eric.auger at redhat.com; joao.m.martins at oracle.com; jiangkunkun
> <jiangkunkun at huawei.com>; zhukeqian <zhukeqian1 at huawei.com>; Linuxarm
> <linuxarm at huawei.com>
> Subject: Re: [PATCH 3/5] iommu/arm-smmu-v3: Add read_and_clear_dirty()
> support
>
> On Tue, Nov 28, 2023 at 09:49:38AM +0000, Shameer Kolothum wrote:
>
> > +static int arm_smmu_read_and_clear_dirty(struct iommu_domain *domain,
> > + unsigned long iova, size_t size,
> > + unsigned long flags,
> > + struct iommu_dirty_bitmap *dirty)
> > +{
> > + struct arm_smmu_domain *smmu_domain =
> to_smmu_domain(domain);
> > + struct io_pgtable_ops *ops = smmu_domain->pgtbl_ops;
> > + int ret;
> > +
> > + if (smmu_domain->stage != ARM_SMMU_DOMAIN_S1)
> > + return -EINVAL;
> > +
> > + if (!ops || !ops->read_and_clear_dirty) {
> > + pr_err_once("io-pgtable don't support dirty tracking\n");
> > + return -ENODEV;
>
> All these prints concern me, either these can never happen due to
> constraints on the caller, eg iommufd, in which case use WARN_ON_ONCe
>
> Or iommufd does allow these improper things and thus it should
> silently fail.
>
Ok. Will revisit these for next revision.
Thanks,
Shameer
More information about the linux-arm-kernel
mailing list