lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070213.115510.21486123.yoshfuji@linux-ipv6.org>
Date:	Tue, 13 Feb 2007 11:55:10 +0900 (JST)
From:	YOSHIFUJI Hideaki / 吉藤英明 
	<yoshfuji@...ux-ipv6.org>
To:	clem@...m.clem-digital.net
Cc:	akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
	netdev@...r.kernel.org, yoshfuji@...ux-ipv6.org
Subject: Re: 2.6.20-git8 fails compile -- net/built-in.o __ipv6_addr_type

In article <200702130236.l1D2a0u7014457@...m.clem-digital.net> (at Mon, 12 Feb 2007 21:35:59 -0500 (EST)), Pete Clements <clem@...m.clem-digital.net> says:

> Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
>   > In article <20070212181216.c55ca788.akpm@...ux-foundation.org> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <akpm@...ux-foundation.org> says:
>   > 
>   > > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <clem@...m.clem-digital.net> wrote:
>   > > > 2.6.20-git8 fails compile:
>   > > > 
>   > > >   CHK     include/linux/compile.h
>   > > >   UPD     include/linux/compile.h
>   > > >   CC      init/version.o
>   > > >   LD      init/built-in.o
>   > > >   LD      .tmp_vmlinux1
>   > > > net/built-in.o: In function `svc_udp_recvfrom':
>   > > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
>   > > > make: *** [.tmp_vmlinux1] Error 1
>   > > > 
>   > > 
>   > > Please send the .config.
>   > 
>   > and, the gcc version...
>   > 
>   > --yoshfuji
>   > -
> 
> git 7 compiled just fine.

Ah, this is because of new ipv6 support in sunrpc code.
Enable it if it is statically compiled.

Alternatively, we could 
- export __ipv6_addr_type in new net/ipv6/addrconf_core.c
or
- introduce tiny inline for chcking if the address is link-local.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@...ux-ipv6.org>

diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 63ae947..27dcb31 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -107,12 +107,12 @@ static inline void svc_reclassify_socket
 		sock_lock_init_class_and_name(sk, "slock-AF_INET-NFSD",
 		    &svc_slock_key[0], "sk_lock-AF_INET-NFSD", &svc_key[0]);
 		break;
-
+#ifdef CONFIG_IPV6
 	case AF_INET6:
 		sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFSD",
 		    &svc_slock_key[1], "sk_lock-AF_INET6-NFSD", &svc_key[1]);
 		break;
-
+#endif
 	default:
 		BUG();
 	}
@@ -131,7 +131,7 @@ static char *__svc_print_addr(struct soc
 			NIPQUAD(((struct sockaddr_in *) addr)->sin_addr),
 			htons(((struct sockaddr_in *) addr)->sin_port));
 		break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
 	case AF_INET6:
 		snprintf(buf, len, "%x:%x:%x:%x:%x:%x:%x:%x, port=%u",
 			NIP6(((struct sockaddr_in6 *) addr)->sin6_addr),
@@ -449,7 +449,7 @@ svc_wake_up(struct svc_serv *serv)
 
 union svc_pktinfo_u {
 	struct in_pktinfo pkti;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
 	struct in6_pktinfo pkti6;
 #endif
 };
@@ -467,7 +467,7 @@ static void svc_set_cmsg_data(struct svc
 			cmh->cmsg_len = CMSG_LEN(sizeof(*pki));
 		}
 		break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
 	case AF_INET6: {
 			struct in6_pktinfo *pki = CMSG_DATA(cmh);
 
@@ -737,7 +737,7 @@ static void svc_udp_get_sender_address(s
 			rqstp->rq_daddr.addr.s_addr = skb->nh.iph->daddr;
 		}
 		break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
 	case AF_INET6: {
 		/* this is derived from net/ipv6/udp.c:udpv6_recvmesg */
 			struct sockaddr_in6 *sin6 = svc_addr_in6(rqstp);
@@ -977,7 +977,7 @@ static inline int svc_port_is_privileged
 	case AF_INET:
 		return ntohs(((struct sockaddr_in *)sin)->sin_port)
 			< PROT_SOCK;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
 	case AF_INET6:
 		return ntohs(((struct sockaddr_in6 *)sin)->sin6_port)
 			< PROT_SOCK;
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 49cabff..877b52b 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -1187,11 +1187,12 @@ static inline void xs_reclassify_socket(
 			&xs_slock_key[0], "sk_lock-AF_INET-NFS", &xs_key[0]);
 		break;
 
+#ifdef CONFIG_IPV6
 	case AF_INET6:
 		sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFS",
 			&xs_slock_key[1], "sk_lock-AF_INET6-NFS", &xs_key[1]);
 		break;
-
+#endif
 	default:
 		BUG();
 	}


-- 
YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@...ux-ipv6.org>
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ