diff mbox series

IB/ucm: fix UCM link error

Message ID 20180821142100.2250647-1-arnd@arndb.de (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series IB/ucm: fix UCM link error | expand

Commit Message

Arnd Bergmann Aug. 21, 2018, 2:20 p.m. UTC
Building UCM with CONFIG_INFINIBAND_USER_ACCESS=m results in a
set of link errors including:

drivers/infiniband/core/ucm.o: In function `ib_ucm_event_handler':
ucm.c:(.text+0x6dc): undefined reference to `ib_copy_path_rec_to_user'
drivers/infiniband/core/ucma.o: In function `ucma_event_handler':
ucma.c:(.text+0xdc0): undefined reference to `ib_copy_ah_attr_to_user'

To get it to build-test again, this makes the option itself a
tristate, which lets Kconfig figure out the dependency correctly.

Fixes: 486edfb1039d ("IB/ucm: Fix compiling ucm.c")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/infiniband/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jason Gunthorpe Aug. 22, 2018, 3:18 a.m. UTC | #1
On Tue, Aug 21, 2018 at 04:20:44PM +0200, Arnd Bergmann wrote:
> Building UCM with CONFIG_INFINIBAND_USER_ACCESS=m results in a
> set of link errors including:
> 
> drivers/infiniband/core/ucm.o: In function `ib_ucm_event_handler':
> ucm.c:(.text+0x6dc): undefined reference to `ib_copy_path_rec_to_user'
> drivers/infiniband/core/ucma.o: In function `ucma_event_handler':
> ucma.c:(.text+0xdc0): undefined reference to `ib_copy_ah_attr_to_user'
> 
> To get it to build-test again, this makes the option itself a
> tristate, which lets Kconfig figure out the dependency correctly.
> 
> Fixes: 486edfb1039d ("IB/ucm: Fix compiling ucm.c")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/infiniband/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to for-rc

But that fixes line isn't right is it?

Should it be

commit 7a8690ed6f5346f6738971892205e91d39b6b901
Author: Leon Romanovsky <leonro@mellanox.com>
Date:   Wed May 23 08:22:11 2018 +0300

    RDMA/ucm: Mark UCM interface as BROKEN

Which added the config in the first place??

Thanks,
Jason

> diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
> index 1d6f5710d1df..176b943dfec9 100644
> --- a/drivers/infiniband/Kconfig
> +++ b/drivers/infiniband/Kconfig
> @@ -35,7 +35,7 @@ config INFINIBAND_USER_ACCESS
>  	  rdma-core <https://github.com/linux-rdma/rdma-core>.
>  
>  config INFINIBAND_USER_ACCESS_UCM
> -	bool "Userspace CM (UCM, DEPRECATED)"
> +	tristate "Userspace CM (UCM, DEPRECATED)"
>  	depends on BROKEN || COMPILE_TEST
>  	depends on INFINIBAND_USER_ACCESS
>  	help
Arnd Bergmann Aug. 22, 2018, 7:33 a.m. UTC | #2
On Wed, Aug 22, 2018 at 5:18 AM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Tue, Aug 21, 2018 at 04:20:44PM +0200, Arnd Bergmann wrote:
> > Building UCM with CONFIG_INFINIBAND_USER_ACCESS=m results in a
> > set of link errors including:
> >
> > drivers/infiniband/core/ucm.o: In function `ib_ucm_event_handler':
> > ucm.c:(.text+0x6dc): undefined reference to `ib_copy_path_rec_to_user'
> > drivers/infiniband/core/ucma.o: In function `ucma_event_handler':
> > ucma.c:(.text+0xdc0): undefined reference to `ib_copy_ah_attr_to_user'
> >
> > To get it to build-test again, this makes the option itself a
> > tristate, which lets Kconfig figure out the dependency correctly.
> >
> > Fixes: 486edfb1039d ("IB/ucm: Fix compiling ucm.c")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> >  drivers/infiniband/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Applied to for-rc
>
> But that fixes line isn't right is it?
>
> Should it be
>
> commit 7a8690ed6f5346f6738971892205e91d39b6b901
> Author: Leon Romanovsky <leonro@mellanox.com>
> Date:   Wed May 23 08:22:11 2018 +0300
>
>     RDMA/ucm: Mark UCM interface as BROKEN
>
> Which added the config in the first place??

The commit I cited is the one that caused the build regression for me.

The first one (7a8690ed6f) caused the interface to disappear,
the second one (486edfb1039d) brought it back in a way that
fails in some random configurations.

       Arnd
diff mbox series

Patch

diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index 1d6f5710d1df..176b943dfec9 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -35,7 +35,7 @@  config INFINIBAND_USER_ACCESS
 	  rdma-core <https://github.com/linux-rdma/rdma-core>.
 
 config INFINIBAND_USER_ACCESS_UCM
-	bool "Userspace CM (UCM, DEPRECATED)"
+	tristate "Userspace CM (UCM, DEPRECATED)"
 	depends on BROKEN || COMPILE_TEST
 	depends on INFINIBAND_USER_ACCESS
 	help