diff mbox series

RDMA: Fix building with CONFIG_MMU=n

Message ID 20180928212023.GA28889@ziepe.ca (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series RDMA: Fix building with CONFIG_MMU=n | expand

Commit Message

Jason Gunthorpe Sept. 28, 2018, 9:20 p.m. UTC
The zap_vma_ptes() is declared but not defined on NOMMU kernels, causing a
link error for the newly added uverbs code:

drivers/infiniband/core/uverbs_main.o: In function `uverbs_user_mmap_disassociate':
uverbs_main.c:(.text+0x114c): undefined reference to `zap_vma_ptes'
drivers/infiniband/core/uverbs_main.o: In function `rdma_umap_open':
uverbs_main.c:(.text+0x53c): undefined reference to `zap_vma_ptes'

Since all user access for all of our drivers depend on remapping pages to
user space disable USER_ACCESS when there is no mmu.

Fixes: 5f9794dc94f5 ("RDMA/ucontext: Add a core API for mmaping driver IO memory")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
---
 drivers/infiniband/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Here is the revised version of Arnd's earlier patch, as requested.

Comments

Jason Gunthorpe Oct. 3, 2018, 10:16 p.m. UTC | #1
On Fri, Sep 28, 2018 at 03:20:23PM -0600, Jason Gunthorpe wrote:
> The zap_vma_ptes() is declared but not defined on NOMMU kernels, causing a
> link error for the newly added uverbs code:
> 
> drivers/infiniband/core/uverbs_main.o: In function `uverbs_user_mmap_disassociate':
> uverbs_main.c:(.text+0x114c): undefined reference to `zap_vma_ptes'
> drivers/infiniband/core/uverbs_main.o: In function `rdma_umap_open':
> uverbs_main.c:(.text+0x53c): undefined reference to `zap_vma_ptes'
> 
> Since all user access for all of our drivers depend on remapping pages to
> user space disable USER_ACCESS when there is no mmu.
> 
> Fixes: 5f9794dc94f5 ("RDMA/ucontext: Add a core API for mmaping driver IO memory")
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
> ---
>  drivers/infiniband/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> Here is the revised version of Arnd's earlier patch, as requested.

Applied to for-next

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index abb6660c099c9f..0a3ec7c726ec20 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -26,6 +26,7 @@  config INFINIBAND_USER_MAD
 config INFINIBAND_USER_ACCESS
 	tristate "InfiniBand userspace access (verbs and CM)"
 	select ANON_INODES
+	depends on MMU
 	---help---
 	  Userspace InfiniBand access support.  This enables the
 	  kernel side of userspace verbs and the userspace