Commit 69878860 authored by Kai Germaschewski's avatar Kai Germaschewski

Move the IPv6 symbols into the ipv6 module

Currently, we're trying to export the IPv6 modules from netsyms.c,
which can't work when netsyms is built-in, but IPv6 is modular. Fix is to
move the IPv6 symbols to the ipv6 module. Actually, netsyms.c could use a
lot more of this kind of untangling.

Also, move exporting the secure_*v6* symbols to drivers/char/random.c, 
since that's where they're defined.

The reason why things worked before is that the ipv6 module doesn't have
a EXPORT_NO_SYMBOLS directive, so _all_ of its symbols where exported by
modutils.
parent 7fb7f2ac
...@@ -2068,6 +2068,7 @@ __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr, ...@@ -2068,6 +2068,7 @@ __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr,
seq += tv.tv_usec + tv.tv_sec*1000000; seq += tv.tv_usec + tv.tv_sec*1000000;
return seq; return seq;
} }
EXPORT_SYMBOL(secure_tcpv6_sequence_number);
__u32 secure_ipv6_id(__u32 *daddr) __u32 secure_ipv6_id(__u32 *daddr)
{ {
...@@ -2088,6 +2089,7 @@ __u32 secure_ipv6_id(__u32 *daddr) ...@@ -2088,6 +2089,7 @@ __u32 secure_ipv6_id(__u32 *daddr)
return twothirdsMD4Transform(daddr, secret); return twothirdsMD4Transform(daddr, secret);
} }
EXPORT_SYMBOL(secure_ipv6_id);
#endif #endif
......
...@@ -9,11 +9,13 @@ ...@@ -9,11 +9,13 @@
O_TARGET := ipv6.o O_TARGET := ipv6.o
export-objs := ipv6_syms.o
obj-y := af_inet6.o ip6_output.o ip6_input.o addrconf.o sit.o \ obj-y := af_inet6.o ip6_output.o ip6_input.o addrconf.o sit.o \
route.o ip6_fib.o ipv6_sockglue.o ndisc.o udp.o raw.o \ route.o ip6_fib.o ipv6_sockglue.o ndisc.o udp.o raw.o \
protocol.o icmp.o mcast.o reassembly.o tcp_ipv6.o \ protocol.o icmp.o mcast.o reassembly.o tcp_ipv6.o \
exthdrs.o sysctl_net_ipv6.o datagram.o proc.o \ exthdrs.o sysctl_net_ipv6.o datagram.o proc.o \
ip6_flowlabel.o ip6_flowlabel.o ipv6_syms.o
obj-m := $(O_TARGET) obj-m := $(O_TARGET)
......
#include <linux/module.h>
#include <net/ipv6.h>
#include <net/addrconf.h>
#include <net/ip6_route.h>
EXPORT_SYMBOL(ipv6_addr_type);
EXPORT_SYMBOL(icmpv6_send);
EXPORT_SYMBOL(ndisc_mc_map);
EXPORT_SYMBOL(register_inet6addr_notifier);
EXPORT_SYMBOL(unregister_inet6addr_notifier);
EXPORT_SYMBOL(ip6_route_output);
...@@ -286,15 +286,6 @@ EXPORT_SYMBOL(dlci_ioctl_hook); ...@@ -286,15 +286,6 @@ EXPORT_SYMBOL(dlci_ioctl_hook);
#endif #endif
#ifdef CONFIG_IPV6
EXPORT_SYMBOL(ipv6_addr_type);
EXPORT_SYMBOL(icmpv6_send);
EXPORT_SYMBOL(ndisc_mc_map);
EXPORT_SYMBOL(register_inet6addr_notifier);
EXPORT_SYMBOL(unregister_inet6addr_notifier);
#include <net/ip6_route.h>
EXPORT_SYMBOL(ip6_route_output);
#endif
#if defined (CONFIG_IPV6_MODULE) || defined (CONFIG_KHTTPD) || defined (CONFIG_KHTTPD_MODULE) #if defined (CONFIG_IPV6_MODULE) || defined (CONFIG_KHTTPD) || defined (CONFIG_KHTTPD_MODULE)
/* inet functions common to v4 and v6 */ /* inet functions common to v4 and v6 */
EXPORT_SYMBOL(inet_release); EXPORT_SYMBOL(inet_release);
...@@ -401,11 +392,6 @@ EXPORT_SYMBOL(sysctl_tcp_tw_recycle); ...@@ -401,11 +392,6 @@ EXPORT_SYMBOL(sysctl_tcp_tw_recycle);
EXPORT_SYMBOL(sysctl_max_syn_backlog); EXPORT_SYMBOL(sysctl_max_syn_backlog);
#endif #endif
#if defined (CONFIG_IPV6_MODULE)
EXPORT_SYMBOL(secure_tcpv6_sequence_number);
EXPORT_SYMBOL(secure_ipv6_id);
#endif
#endif #endif
EXPORT_SYMBOL(netlink_set_err); EXPORT_SYMBOL(netlink_set_err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment