netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2] tipc: fix undefined __ipv6_sock_mc_join compile error
@ 2015-03-10  8:41 Ying Xue
  2015-03-10 15:41 ` Willem de Bruijn
  2015-03-10 18:50 ` Sergei Shtylyov
  0 siblings, 2 replies; 10+ messages in thread
From: Ying Xue @ 2015-03-10  8:41 UTC (permalink / raw)
  To: davem
  Cc: jon.maloy, netdev, Paul.Gortmaker, tipc-discussion, kbuild-all,
	fengguang.wu

When CONFIG_IPV6 option is disabled, below error will appear while
building TIPC module:

ERROR: "__ipv6_sock_mc_join" [net/tipc/tipc.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [net/tipc/tipc.ko] Error 1

This is because we don't check whether or not the CONFIG_IPV6 is
enabled when calling __ipv6_sock_mc_join().

In addition, especially when TIPC=y, TIPC_MEDIA_UDP=y, and IPV6=m, TIPC
module is also unable to be successfully built. Therefore, we add a
dependency condition like (IPV6 || IPV6=n) to avoid the error.

Fixes: d0f91938bede ("tipc: add ip/udp media type")
Reported-by: Wu Fengguang <fengguang.wu@intel.com>
Cc: Kbuild test robot <kbuild-all@01.org>
Signed-off-by: Ying Xue <ying.xue@windriver.com>
---
v2:
 Fix another compile error when TIPC=y, TIPC_MEDIA_UDP=y, and IPV6=m

 net/tipc/Kconfig     |    1 +
 net/tipc/udp_media.c |    2 ++
 2 files changed, 3 insertions(+)

diff --git a/net/tipc/Kconfig b/net/tipc/Kconfig
index c25a3a1..6f217ba 100644
--- a/net/tipc/Kconfig
+++ b/net/tipc/Kconfig
@@ -5,6 +5,7 @@
 menuconfig TIPC
 	tristate "The TIPC Protocol"
 	depends on INET
+	depends on (IPV6 || IPV6=n)
 	---help---
 	  The Transparent Inter Process Communication (TIPC) protocol is
 	  specially designed for intra cluster communication. This protocol
diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c
index fc2fb11..6763002 100644
--- a/net/tipc/udp_media.c
+++ b/net/tipc/udp_media.c
@@ -247,10 +247,12 @@ static int enable_mcast(struct udp_bearer *ub, struct udp_media_addr *remote)
 		mreqn.imr_multiaddr = remote->ipv4;
 		mreqn.imr_ifindex = ub->ifindex;
 		err = __ip_mc_join_group(sk, &mreqn);
+#if IS_ENABLED(CONFIG_IPV6)
 	} else {
 		if (!ipv6_addr_is_multicast(&remote->ipv6))
 			return 0;
 		err = __ipv6_sock_mc_join(sk, ub->ifindex, &remote->ipv6);
+#endif
 	}
 	return err;
 }
-- 
1.7.9.5


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-03-11 14:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-10  8:41 [PATCH net-next v2] tipc: fix undefined __ipv6_sock_mc_join compile error Ying Xue
2015-03-10 15:41 ` Willem de Bruijn
2015-03-10 16:47   ` David Miller
2015-03-11  3:11     ` Ying Xue
2015-03-11  4:05       ` David Miller
2015-03-11  6:24         ` Ying Xue
2015-03-11  3:40   ` Ying Xue
2015-03-10 18:50 ` Sergei Shtylyov
2015-03-11  3:34   ` Ying Xue
2015-03-11 14:34     ` Sergei Shtylyov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).