2009-11-20 00:03:45

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: infiniband tree build failure

Hi all,

Today's linux-next build (powerpc ppc64_defconfig) failed like this:

ERROR: ".__ipv6_addr_type" [drivers/infiniband/core/rdma_cm.ko] undefined!

I have used the version of the infiniband tree from next-20091119 for
today.
--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (335.00 B)
(No filename) (198.00 B)
Download all attachments

2009-11-20 00:19:26

by Roland Dreier

[permalink] [raw]
Subject: Re: linux-next: infiniband tree build failure


> Today's linux-next build (powerpc ppc64_defconfig) failed like this:
>
> ERROR: ".__ipv6_addr_type" [drivers/infiniband/core/rdma_cm.ko] undefined!
>
> I have used the version of the infiniband tree from next-20091119 for
> today.

Sorry, will track it down. Sean this probably came from your patches,
any idea off the top of your head?

2009-11-20 00:30:51

by Hefty, Sean

[permalink] [raw]
Subject: RE: linux-next: infiniband tree build failure

>Sorry, will track it down. Sean this probably came from your patches,
>any idea off the top of your head?

Off the top of my head, I'll guess that maybe we need to add something like

#if defined(CONFIG_IPv6) || defined(CONFIG_IPV6_MODULE)

to cma_check_linklocal() in cma.c. Does this build failure occur when IPv6 is
excluded?

- Sean

2009-11-20 00:34:11

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: infiniband tree build failure

Hi Roland, Sean,

On Thu, 19 Nov 2009 16:19:29 -0800 Roland Dreier <[email protected]> wrote:
>
>
> > Today's linux-next build (powerpc ppc64_defconfig) failed like this:
> >
> > ERROR: ".__ipv6_addr_type" [drivers/infiniband/core/rdma_cm.ko] undefined!
> >
> > I have used the version of the infiniband tree from next-20091119 for
> > today.
>
> Sorry, will track it down. Sean this probably came from your patches,
> any idea off the top of your head?

Big hint: IPV6 is not enabled in this config.

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (617.00 B)
(No filename) (198.00 B)
Download all attachments

2009-11-20 00:43:05

by Roland Dreier

[permalink] [raw]
Subject: Re: linux-next: infiniband tree build failure


> Off the top of my head, I'll guess that maybe we need to add something like

> #if defined(CONFIG_IPv6) || defined(CONFIG_IPV6_MODULE)

Yes, makes sense, I'll throw that in.

- R.

2009-11-20 00:45:54

by Roland Dreier

[permalink] [raw]
Subject: Re: linux-next: infiniband tree build failure

OK, so I threw this into the ipv6 patch, I think it's right:

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 71e616a..fbdd731 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -2083,6 +2083,7 @@ static int cma_get_port(struct rdma_id_private *id_priv)
static int cma_check_linklocal(struct rdma_dev_addr *dev_addr,
struct sockaddr *addr)
{
+#if defined(CONFIG_IPv6) || defined(CONFIG_IPV6_MODULE)
struct sockaddr_in6 *sin6;

if (addr->sa_family != AF_INET6)
@@ -2094,6 +2095,7 @@ static int cma_check_linklocal(struct rdma_dev_addr *dev_addr,
return -EINVAL;

dev_addr->bound_dev_if = sin6->sin6_scope_id;
+#endif
return 0;
}

2009-11-20 00:52:05

by Hefty, Sean

[permalink] [raw]
Subject: RE: linux-next: infiniband tree build failure

>OK, so I threw this into the ipv6 patch, I think it's right:

Looks correct - thanks.

>diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
>index 71e616a..fbdd731 100644
>--- a/drivers/infiniband/core/cma.c
>+++ b/drivers/infiniband/core/cma.c
>@@ -2083,6 +2083,7 @@ static int cma_get_port(struct rdma_id_private *id_priv)
> static int cma_check_linklocal(struct rdma_dev_addr *dev_addr,
> struct sockaddr *addr)
> {
>+#if defined(CONFIG_IPv6) || defined(CONFIG_IPV6_MODULE)
> struct sockaddr_in6 *sin6;
>
> if (addr->sa_family != AF_INET6)
>@@ -2094,6 +2095,7 @@ static int cma_check_linklocal(struct rdma_dev_addr
>*dev_addr,
> return -EINVAL;
>
> dev_addr->bound_dev_if = sin6->sin6_scope_id;
>+#endif
> return 0;
> }
>