Commit 57886518 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

iommu: Check for valid pgsize_bitmap in iommu_map/unmap



In case the page-size bitmap is zero the code path in
iommu_map and iommu_unmap is undefined. Make it defined and
return -ENODEV in this case.

Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
parent a8b8a88a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -734,7 +734,8 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
	size_t orig_size = size;
	int ret = 0;

	if (unlikely(domain->ops->map == NULL))
	if (unlikely(domain->ops->unmap == NULL ||
		     domain->ops->pgsize_bitmap == 0UL))
		return -ENODEV;

	/* find out the minimum page size supported */
@@ -808,7 +809,8 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
	size_t unmapped_page, unmapped = 0;
	unsigned int min_pagesz;

	if (unlikely(domain->ops->unmap == NULL))
	if (unlikely(domain->ops->unmap == NULL ||
		     domain->ops->pgsize_bitmap == 0UL))
		return -ENODEV;

	/* find out the minimum page size supported */