Re: [PATCH] infiniband: mlx5: fix build error when INFINIBAND_USER_ACCESS=m

From: Randy Dunlap
Date: Mon Apr 16 2018 - 21:53:04 EST


On 04/16/18 14:55, Jason Gunthorpe wrote:
> On Mon, Apr 16, 2018 at 02:21:07PM -0700, Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>>
>> Fix build errors when INFINIBAND_USER_ACCESS=m and MLX5_INFINIBAND=y.
>> The build error occurs when the mlx5 driver code attempts to use
>> USER_ACCESS interfaces, which are built as a loadable module.
>>
>> Fixes these build errors:
>>
>> drivers/infiniband/hw/mlx5/main.o: In function `populate_specs_root':
>> ../drivers/infiniband/hw/mlx5/main.c:4982: undefined reference to `uverbs_default_get_objects'
>> ../drivers/infiniband/hw/mlx5/main.c:4994: undefined reference to `uverbs_alloc_spec_tree'
>> drivers/infiniband/hw/mlx5/main.o: In function `depopulate_specs_root':
>> ../drivers/infiniband/hw/mlx5/main.c:5001: undefined reference to `uverbs_free_spec_tree'
>>
>> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> Cc: Matan Barak <matanb@xxxxxxxxxxxx>
>> Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
>> Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>
>> Cc: Doug Ledford <dledford@xxxxxxxxxx>
>> Cc: linux-rdma@xxxxxxxxxxxxxxx
>> Cc: stable@xxxxxxxxxxxxxxx # reported against 4.16
>> drivers/infiniband/hw/mlx5/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> +++ lnx-417-rc1/drivers/infiniband/hw/mlx5/Kconfig
>> @@ -1,6 +1,7 @@
>> config MLX5_INFINIBAND
>> tristate "Mellanox Connect-IB HCA support"
>> depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
>> + select INFINIBAND_USER_ACCESS
>
> Shouldn't this be done via
>
> depends on m || INFINIBAND_USER_ACCESS != m
>
> ?
>
> We can turn off USER_ACCESS and still successfully compile the driver.

Argh, thanks, I didn't notice that. v2 on the way but not quite the way
that you mentioned, more like it's done in other (netdev) places.

--
~Randy