[PATCH 5.11.y, 5.10.y, 5.4.y] vfio: Depend on MMU

From: Alex Williamson
Date: Thu May 06 2021 - 16:48:07 EST


From: Jason Gunthorpe <jgg@xxxxxxxxxx>

commit b2b12db53507bc97d96f6b7cb279e831e5eafb00 upstream

VFIO_IOMMU_TYPE1 does not compile with !MMU:

../drivers/vfio/vfio_iommu_type1.c: In function 'follow_fault_pfn':
../drivers/vfio/vfio_iommu_type1.c:536:22: error: implicit declaration of function 'pte_write'; did you mean 'vfs_write'? [-Werror=implicit-function-declaration]

So require it.

Suggested-by: Cornelia Huck <cohuck@xxxxxxxxxx>
Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
Message-Id: <0-v1-02cb5500df6e+78-vfio_no_mmu_jgg@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 5.11.y, 5.10.y, 5.4.y
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
---

The noted stable branches include upstream commit 179209fa1270
("vfio: IOMMU_API should be selected") without the follow-up commit
b2b12db53507 ("vfio: Depend on MMU"), which should have included a
Fixes: tag for the prior commit. Without this latter commit, we're
susceptible to randconfig failures with !MMU configs. Thanks!

drivers/vfio/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/vfio/Kconfig b/drivers/vfio/Kconfig
index 90c0525b1e0c..67d0bf4efa16 100644
--- a/drivers/vfio/Kconfig
+++ b/drivers/vfio/Kconfig
@@ -22,7 +22,7 @@ config VFIO_VIRQFD
menuconfig VFIO
tristate "VFIO Non-Privileged userspace driver framework"
select IOMMU_API
- select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64)
+ select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64)
help
VFIO provides a framework for secure userspace device drivers.
See Documentation/driver-api/vfio.rst for more details.