[PATCH 3/5] iommu/arm-smmu-v3: Add read_and_clear_dirty() support
Jason Gunthorpe
jgg at nvidia.com
Wed Nov 29 11:35:06 PST 2023
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.
Jason
More information about the linux-arm-kernel
mailing list