Re: Re: linux-next: build failure after merge of the net-next tree
From: Bernard Metzler <hidden>
Date: 2019-07-09 09:00:54
Also in:
lkml, netdev
-----"Leon Romanovsky" [off-list ref] wrote: -----
quoted hunk ↗ jump to hunk
To: "Stephen Rothwell" <redacted> From: "Leon Romanovsky" <leon@kernel.org> Date: 07/09/2019 08:43AM Cc: "Doug Ledford" <redacted>, "Jason Gunthorpe" [off-list ref], "David Miller" [off-list ref], "Networking" [off-list ref], "Linux Next Mailing List" [off-list ref], "Linux Kernel Mailing List" [off-list ref], "Bernard Metzler" [off-list ref] Subject: [EXTERNAL] Re: linux-next: build failure after merge of the net-next tree On Tue, Jul 09, 2019 at 01:56:36PM +1000, Stephen Rothwell wrote:quoted
Hi all, After merging the net-next tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/infiniband/sw/siw/siw_cm.c: In function'siw_create_listen':quoted
drivers/infiniband/sw/siw/siw_cm.c:1978:3: error: implicitdeclaration of function 'for_ifa'; did you mean 'fork_idle'? [-Werror=implicit-function-declaration]quoted
for_ifa(in_dev) ^~~~~~~ fork_idle drivers/infiniband/sw/siw/siw_cm.c:1978:18: error: expected ';'before '{' tokenquoted
for_ifa(in_dev) ^ ; { ~ Caused by commit 6c52fdc244b5 ("rdma/siw: connection management") from the rdma tree. I don't know why this didn't fail after Imeregedquoted
that tree.I had the same question, because I have this fix for a couple of days already. From 56c9e15ec670af580daa8c3ffde9503af3042d67 Mon Sep 17 00:00:00 2001 From: Leon Romanovsky <redacted> Date: Sun, 7 Jul 2019 10:43:42 +0300 Subject: [PATCH] Fixup to build SIW issue Signed-off-by: Leon Romanovsky <redacted> --- drivers/infiniband/sw/siw/siw_cm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)diff --git a/drivers/infiniband/sw/siw/siw_cm.cb/drivers/infiniband/sw/siw/siw_cm.c index 8e618cb7261f..c883bf514341 100644--- a/drivers/infiniband/sw/siw/siw_cm.c +++ b/drivers/infiniband/sw/siw/siw_cm.c@@ -1954,6 +1954,7 @@ static void siw_drop_listeners(struct iw_cm_id*id) int siw_create_listen(struct iw_cm_id *id, int backlog) { struct net_device *dev = to_siw_dev(id->device)->netdev; + const struct in_ifaddr *ifa; int rv = 0, listeners = 0; siw_dbg(id->device, "id 0x%p: backlog %d\n", id, backlog);@@ -1975,8 +1976,7 @@ int siw_create_listen(struct iw_cm_id *id, intbacklog) id, &s_laddr.sin_addr, ntohs(s_laddr.sin_port), &s_raddr->sin_addr, ntohs(s_raddr->sin_port)); - for_ifa(in_dev) - { + in_dev_for_each_ifa_rcu(ifa, in_dev) { if (ipv4_is_zeronet(s_laddr.sin_addr.s_addr) || s_laddr.sin_addr.s_addr == ifa->ifa_address) { s_laddr.sin_addr.s_addr = ifa->ifa_address;@@ -1988,7 +1988,6 @@ int siw_create_listen(struct iw_cm_id *id, intbacklog) listeners++; } } - endfor_ifa(in_dev); in_dev_put(in_dev); } else if (id->local_addr.ss_family == AF_INET6) { struct inet6_dev *in6_dev = in6_dev_get(dev); -- 2.21.0quoted
I have marked that driver as depending on BROKEN for today. -- Cheers, Stephen Rothwell
I am very sorry for that issues. Things are moving fast, and I didn't realize 'for_ifa' recently went away. I agree with Leon, his patch fixes the issue. So, please, let's apply that one. Leon, many thanks for providing the fix. Thanks very much, Bernard.