The UDP exports are only used by UDPv6 and UDP lite. They are internal functions not supposed to be used by anybody else. So turn them into a name space that only allows those.
--- net/ipv4/udp.c | 27 +++++++++++++++------------ net/ipv4/udplite.c | 6 +++--- 2 files changed, 18 insertions(+), 15 deletions(-) Index: linux/net/ipv4/udp.c =================================================================== --- linux.orig/net/ipv4/udp.c +++ linux/net/ipv4/udp.c @@ -105,6 +105,9 @@ #include <net/xfrm.h> #include "udp_impl.h" +MODULE_NAMESPACE_ALLOW(udp, udplite); +MODULE_NAMESPACE_ALLOW(udp, ipv6); + /* * Snmp MIB for the UDP layer */ @@ -1641,18 +1644,18 @@ void udp4_proc_exit(void) } #endif /* CONFIG_PROC_FS */ -EXPORT_SYMBOL(udp_disconnect); -EXPORT_SYMBOL(udp_hash); -EXPORT_SYMBOL(udp_hash_lock); -EXPORT_SYMBOL(udp_ioctl); -EXPORT_SYMBOL(udp_get_port); -EXPORT_SYMBOL(udp_prot); -EXPORT_SYMBOL(udp_sendmsg); -EXPORT_SYMBOL(udp_lib_getsockopt); -EXPORT_SYMBOL(udp_lib_setsockopt); -EXPORT_SYMBOL(udp_poll); +EXPORT_SYMBOL_NS(udp, udp_disconnect); +EXPORT_SYMBOL_NS(udp, udp_hash); +EXPORT_SYMBOL_NS(udp, udp_hash_lock); +EXPORT_SYMBOL_NS(udp, udp_ioctl); +EXPORT_SYMBOL_NS(udp, udp_get_port); +EXPORT_SYMBOL_NS(udp, udp_prot); +EXPORT_SYMBOL_NS(udp, udp_sendmsg); +EXPORT_SYMBOL_NS(udp, udp_lib_getsockopt); +EXPORT_SYMBOL_NS(udp, udp_lib_setsockopt); +EXPORT_SYMBOL_NS(udp, udp_poll); #ifdef CONFIG_PROC_FS -EXPORT_SYMBOL(udp_proc_register); -EXPORT_SYMBOL(udp_proc_unregister); +EXPORT_SYMBOL_NS(udp, udp_proc_register); +EXPORT_SYMBOL_NS(udp, udp_proc_unregister); #endif Index: linux/net/ipv4/udplite.c =================================================================== --- linux.orig/net/ipv4/udplite.c +++ linux/net/ipv4/udplite.c @@ -113,6 +113,6 @@ out_register_err: printk(KERN_CRIT "%s: Cannot add UDP-Lite protocol.\n", __FUNCTION__); } -EXPORT_SYMBOL(udplite_hash); -EXPORT_SYMBOL(udplite_prot); -EXPORT_SYMBOL(udplite_get_port); +EXPORT_SYMBOL_NS(udp, udplite_hash); +EXPORT_SYMBOL_NS(udp, udplite_prot); +EXPORT_SYMBOL_NS(udp, udplite_get_port); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html