[PATCH] RDMA/irdma: fix building without IPv6

Arnd Bergmann posted 1 patch 2 years, 4 months ago
drivers/infiniband/hw/irdma/cm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] RDMA/irdma: fix building without IPv6
Posted by Arnd Bergmann 2 years, 4 months ago
From: Arnd Bergmann <arnd@arndb.de>

The new irdma_iw_get_vlan_prio() function requires IPv6 support to build:

x86_64-linux-ld: drivers/infiniband/hw/irdma/cm.o: in function `irdma_iw_get_vlan_prio':
cm.c:(.text+0x2832): undefined reference to `ipv6_chk_addr'

Add a compile-time check in the same way as elsewhere in this file to avoid
this by conditionally leaving out the ipv6 specific bits.

Fixes: f877f22ac1e9b ("RDMA/irdma: Implement egress VLAN priority")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/infiniband/hw/irdma/cm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/irdma/cm.c b/drivers/infiniband/hw/irdma/cm.c
index 6b71b67ce9ff0..8ea55c6a3fba5 100644
--- a/drivers/infiniband/hw/irdma/cm.c
+++ b/drivers/infiniband/hw/irdma/cm.c
@@ -1562,7 +1562,7 @@ static u8 irdma_iw_get_vlan_prio(u32 *loc_addr, u8 prio, bool ipv4)
 	rcu_read_lock();
 	if (ipv4) {
 		ndev = ip_dev_find(&init_net, htonl(loc_addr[0]));
-	} else {
+	} else if (IS_ENABLED(CONFIG_IPV6)) {
 		struct net_device *ip_dev;
 		struct in6_addr laddr6;
 
-- 
2.39.2
RE: [PATCH] RDMA/irdma: fix building without IPv6
Posted by Saleem, Shiraz 2 years, 4 months ago
> Subject: [PATCH] RDMA/irdma: fix building without IPv6
> 
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The new irdma_iw_get_vlan_prio() function requires IPv6 support to build:
> 
> x86_64-linux-ld: drivers/infiniband/hw/irdma/cm.o: in function
> `irdma_iw_get_vlan_prio':
> cm.c:(.text+0x2832): undefined reference to `ipv6_chk_addr'
> 
> Add a compile-time check in the same way as elsewhere in this file to avoid this by
> conditionally leaving out the ipv6 specific bits.
> 
> Fixes: f877f22ac1e9b ("RDMA/irdma: Implement egress VLAN priority")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/infiniband/hw/irdma/cm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/irdma/cm.c b/drivers/infiniband/hw/irdma/cm.c
> index 6b71b67ce9ff0..8ea55c6a3fba5 100644
> --- a/drivers/infiniband/hw/irdma/cm.c
> +++ b/drivers/infiniband/hw/irdma/cm.c
> @@ -1562,7 +1562,7 @@ static u8 irdma_iw_get_vlan_prio(u32 *loc_addr, u8
> prio, bool ipv4)
>  	rcu_read_lock();
>  	if (ipv4) {
>  		ndev = ip_dev_find(&init_net, htonl(loc_addr[0]));
> -	} else {
> +	} else if (IS_ENABLED(CONFIG_IPV6)) {
>  		struct net_device *ip_dev;
>  		struct in6_addr laddr6;
> 
> --
> 2.39.2

Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
Re: [PATCH] RDMA/irdma: fix building without IPv6
Posted by Leon Romanovsky 2 years, 4 months ago
On Tue, 18 Jul 2023 21:38:09 +0200, Arnd Bergmann wrote:
> The new irdma_iw_get_vlan_prio() function requires IPv6 support to build:
> 
> x86_64-linux-ld: drivers/infiniband/hw/irdma/cm.o: in function `irdma_iw_get_vlan_prio':
> cm.c:(.text+0x2832): undefined reference to `ipv6_chk_addr'
> 
> Add a compile-time check in the same way as elsewhere in this file to avoid
> this by conditionally leaving out the ipv6 specific bits.
> 
> [...]

Applied, thanks!

[1/1] RDMA/irdma: fix building without IPv6
      https://git.kernel.org/rdma/rdma/c/b3d2b014b259ba

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>