diff mbox series

IB: Prevent drivers from being compiled-in if uverbs isn't

Message ID 20190110180027.GA31078@ziepe.ca (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series IB: Prevent drivers from being compiled-in if uverbs isn't | expand

Commit Message

Jason Gunthorpe Jan. 10, 2019, 6 p.m. UTC
Now that the umem APIs are part of uverbs we get compilation failures
with drivers that are missing this check. In general all the uverbs related
APIs (including new attr_bundle ones) are in uverbs so all drivers should
work this way.

Conslidate the check into the top level kconfig so all drivers get it.

To be squashed into "IB/{core,uverbs}: Move ib_umem_xxx functions from
ib_core to ib_uverbs"

Found by 0-day

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
---
 drivers/infiniband/Kconfig         | 15 +++++++--------
 drivers/infiniband/hw/hns/Kconfig  |  1 -
 drivers/infiniband/hw/mlx4/Kconfig |  1 -
 drivers/infiniband/hw/mlx5/Kconfig |  1 -
 drivers/infiniband/hw/nes/Kconfig  |  2 +-
 5 files changed, 8 insertions(+), 12 deletions(-)

Comments

Jason Gunthorpe Jan. 11, 2019, 12:08 a.m. UTC | #1
On Thu, Jan 10, 2019 at 06:00:34PM +0000, Jason Gunthorpe wrote:
> Now that the umem APIs are part of uverbs we get compilation failures
> with drivers that are missing this check. In general all the uverbs related
> APIs (including new attr_bundle ones) are in uverbs so all drivers should
> work this way.
> 
> Conslidate the check into the top level kconfig so all drivers get it.
> 
> To be squashed into "IB/{core,uverbs}: Move ib_umem_xxx functions from
> ib_core to ib_uverbs"
> 
> Found by 0-day
> 
> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
> ---
>  drivers/infiniband/Kconfig         | 15 +++++++--------
>  drivers/infiniband/hw/hns/Kconfig  |  1 -
>  drivers/infiniband/hw/mlx4/Kconfig |  1 -
>  drivers/infiniband/hw/mlx5/Kconfig |  1 -
>  drivers/infiniband/hw/nes/Kconfig  |  2 +-
>  5 files changed, 8 insertions(+), 12 deletions(-)

I squashed this into the patch, and sent the new tree to 0-day.. lets
see

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index 0a3ec7c726ec20..a1fb840de45d7e 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -89,6 +89,7 @@  config INFINIBAND_ADDR_TRANS_CONFIGFS
 	  This allows the user to config the default GID type that the CM
 	  uses for each device, when initiaing new connections.
 
+if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
 source "drivers/infiniband/hw/mthca/Kconfig"
 source "drivers/infiniband/hw/qib/Kconfig"
 source "drivers/infiniband/hw/cxgb3/Kconfig"
@@ -101,6 +102,12 @@  source "drivers/infiniband/hw/ocrdma/Kconfig"
 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
 source "drivers/infiniband/hw/usnic/Kconfig"
 source "drivers/infiniband/hw/hns/Kconfig"
+source "drivers/infiniband/hw/bnxt_re/Kconfig"
+source "drivers/infiniband/hw/hfi1/Kconfig"
+source "drivers/infiniband/hw/qedr/Kconfig"
+source "drivers/infiniband/sw/rdmavt/Kconfig"
+source "drivers/infiniband/sw/rxe/Kconfig"
+endif
 
 source "drivers/infiniband/ulp/ipoib/Kconfig"
 
@@ -111,13 +118,5 @@  source "drivers/infiniband/ulp/iser/Kconfig"
 source "drivers/infiniband/ulp/isert/Kconfig"
 
 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
-source "drivers/infiniband/sw/rdmavt/Kconfig"
-source "drivers/infiniband/sw/rxe/Kconfig"
-
-source "drivers/infiniband/hw/hfi1/Kconfig"
-
-source "drivers/infiniband/hw/qedr/Kconfig"
-
-source "drivers/infiniband/hw/bnxt_re/Kconfig"
 
 endif # INFINIBAND
diff --git a/drivers/infiniband/hw/hns/Kconfig b/drivers/infiniband/hw/hns/Kconfig
index 21c2100b2ea98d..fddb5fdf92de86 100644
--- a/drivers/infiniband/hw/hns/Kconfig
+++ b/drivers/infiniband/hw/hns/Kconfig
@@ -1,7 +1,6 @@ 
 config INFINIBAND_HNS
 	tristate "HNS RoCE Driver"
 	depends on NET_VENDOR_HISILICON
-	depends on INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
 	depends on ARM64 || (COMPILE_TEST && 64BIT)
 	---help---
 	  This is a RoCE/RDMA driver for the Hisilicon RoCE engine. The engine
diff --git a/drivers/infiniband/hw/mlx4/Kconfig b/drivers/infiniband/hw/mlx4/Kconfig
index d1de3285fd8856..db4aa13ebae0c6 100644
--- a/drivers/infiniband/hw/mlx4/Kconfig
+++ b/drivers/infiniband/hw/mlx4/Kconfig
@@ -1,7 +1,6 @@ 
 config MLX4_INFINIBAND
 	tristate "Mellanox ConnectX HCA support"
 	depends on NETDEVICES && ETHERNET && PCI && INET
-	depends on INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
 	depends on MAY_USE_DEVLINK
 	select NET_VENDOR_MELLANOX
 	select MLX4_CORE
diff --git a/drivers/infiniband/hw/mlx5/Kconfig b/drivers/infiniband/hw/mlx5/Kconfig
index 0440966bc6ec31..8d651c05de62eb 100644
--- a/drivers/infiniband/hw/mlx5/Kconfig
+++ b/drivers/infiniband/hw/mlx5/Kconfig
@@ -1,7 +1,6 @@ 
 config MLX5_INFINIBAND
 	tristate "Mellanox 5th generation network adapters (ConnectX series) support"
 	depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
-	depends on INFINIBAND_USER_ACCESS || INFINIBAND_USER_ACCESS=n
 	---help---
 	  This driver provides low-level InfiniBand support for
 	  Mellanox Connect-IB PCI Express host channel adapters (HCAs).
diff --git a/drivers/infiniband/hw/nes/Kconfig b/drivers/infiniband/hw/nes/Kconfig
index 7964eba8e7ede7..52caae954e4ae6 100644
--- a/drivers/infiniband/hw/nes/Kconfig
+++ b/drivers/infiniband/hw/nes/Kconfig
@@ -1,6 +1,6 @@ 
 config INFINIBAND_NES
 	tristate "NetEffect RNIC Driver"
-	depends on PCI && INET && INFINIBAND
+	depends on PCI && INET
 	select LIBCRC32C
 	---help---
 	  This is the RDMA Network Interface Card (RNIC) driver for