[PATCH net-next] netfilter: ipv6: Fix build error without CONFIG_IPV6

From: YueHaibing
Date: Wed Jun 12 2019 - 04:52:18 EST


If CONFIG_IPV6 is not set, building fails:

net/bridge/netfilter/nf_conntrack_bridge.o: In function `nf_ct_bridge_pre':
nf_conntrack_bridge.c:(.text+0x41c): undefined symbol `nf_ct_frag6_gather'
net/bridge/netfilter/nf_conntrack_bridge.o: In function `nf_ct_bridge_post':
nf_conntrack_bridge.c:(.text+0x820): undefined symbol `br_ip6_fragment'

Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Fixes: c9bb6165a16e ("netfilter: nf_conntrack_bridge: fix CONFIG_IPV6=y")
Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
---
include/linux/netfilter_ipv6.h | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h
index 3a3dc4b..0e1febc 100644
--- a/include/linux/netfilter_ipv6.h
+++ b/include/linux/netfilter_ipv6.h
@@ -108,8 +108,11 @@ static inline int nf_ipv6_br_defrag(struct net *net, struct sk_buff *skb,
return 1;

return v6_ops->br_defrag(net, skb, user);
-#else
+#endif
+#if IS_BUILTIN(CONFIG_IPV6)
return nf_ct_frag6_gather(net, skb, user);
+#else
+ return 1;
#endif
}

@@ -133,8 +136,11 @@ static inline int nf_br_ip6_fragment(struct net *net, struct sock *sk,
return 1;

return v6_ops->br_fragment(net, sk, skb, data, output);
-#else
+#endif
+#if IS_BUILTIN(CONFIG_IPV6)
return br_ip6_fragment(net, sk, skb, data, output);
+#else
+ return 1;
#endif
}

--
2.7.4