> From: Nicolin Chen <nicolinc@xxxxxxxxxx> > Sent: Saturday, October 26, 2024 7:51 AM > > @@ -302,7 +302,9 @@ iommufd_viommu_alloc_hwpt_nested(struct > iommufd_viommu *viommu, u32 flags, > } > hwpt->domain->owner = viommu->iommu_dev->ops; > > - if (WARN_ON_ONCE(hwpt->domain->type != > IOMMU_DOMAIN_NESTED)) { > + if (WARN_ON_ONCE(hwpt->domain->type != > IOMMU_DOMAIN_NESTED || > + (!viommu->ops->cache_invalidate && > + !hwpt->domain->ops->cache_invalidate_user))) { > rc = -EINVAL; > goto out_abort; > } According to patch5, cache invalidate in viommu only uses viommu->ops->cache_invalidate. Is here intended to allow nested hwpt created via viommu to still support the old method?