2023-07-18 19:49:25

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] RDMA/irdma: fix building without IPv6

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
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



2023-07-18 21:33:46

by Shiraz Saleem

[permalink] [raw]
Subject: RE: [PATCH] RDMA/irdma: fix building without IPv6

> Subject: [PATCH] RDMA/irdma: fix building without IPv6
>
> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>


2023-07-19 07:18:03

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH] RDMA/irdma: fix building without IPv6


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 <[email protected]>