diff mbox series

IB/ucm: fix UCM link error

Message ID 20180821142100.2250647-1-arnd@arndb.de
State Accepted
Commit 845b397a7771f2d3504beff5521f452be0d22eec
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(-)

-- 
2.18.0

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