Thread (18 messages) 18 messages, 4 authors, 2019-07-12

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: implicit
declaration 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 '{' token
quoted
   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 I
mereged
quoted
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.c
b/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, int
backlog)
			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, int
backlog)
					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.0

quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help