aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-01-10 21:02:21 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-01-10 21:02:21 -0800
commit5bf887f2ff874e2cd881c34bbed974bee2c90808 (patch)
tree0785a763e185a1a7e30b61ebf2f09ea29d74bd2e
parent9819d85c210f5953fffc1052060e589d633f20ed (diff)
[IPV6]: Fix modular build with netfilter enabled.
Also, drop __exit marker from ipv6_netfilter_fini() as this can be invoked from inet6_init() error handling paths. Based upon a report from Stephen Hemminger. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv6/Makefile3
-rw-r--r--net/ipv6/netfilter.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile
index bf18cff1312..41877abd22e 100644
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
@@ -12,13 +12,14 @@ ipv6-objs := af_inet6.o anycast.o ip6_output.o ip6_input.o addrconf.o sit.o \
ipv6-$(CONFIG_XFRM) += xfrm6_policy.o xfrm6_state.o xfrm6_input.o \
xfrm6_output.o
+ipv6-$(CONFIG_NETFILTER) += netfilter.o
ipv6-objs += $(ipv6-y)
obj-$(CONFIG_INET6_AH) += ah6.o
obj-$(CONFIG_INET6_ESP) += esp6.o
obj-$(CONFIG_INET6_IPCOMP) += ipcomp6.o
obj-$(CONFIG_INET6_TUNNEL) += xfrm6_tunnel.o
-obj-$(CONFIG_NETFILTER) += netfilter.o netfilter/
+obj-$(CONFIG_NETFILTER) += netfilter/
obj-$(CONFIG_IPV6_TUNNEL) += ip6_tunnel.o
diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
index 1ab62f03366..d750cfc019d 100644
--- a/net/ipv6/netfilter.c
+++ b/net/ipv6/netfilter.c
@@ -90,7 +90,10 @@ int __init ipv6_netfilter_init(void)
return nf_register_queue_rerouter(PF_INET6, &ip6_reroute);
}
-void __exit ipv6_netfilter_fini(void)
+/* This can be called from inet6_init() on errors, so it cannot
+ * be marked __exit. -DaveM
+ */
+void ipv6_netfilter_fini(void)
{
nf_unregister_queue_rerouter(PF_INET6);
}