Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/selinux into next
[cascardo/linux.git] / net / ipv6 / af_inet6.c
index b11c37c..b0994a4 100644 (file)
 #ifdef CONFIG_IPV6_TUNNEL
 #include <net/ip6_tunnel.h>
 #endif
+#include <net/calipso.h>
 
 #include <asm/uaccess.h>
 #include <linux/mroute6.h>
 
+#include "ip6_offload.h"
+
 MODULE_AUTHOR("Cast of dozens");
 MODULE_DESCRIPTION("IPv6 protocol stack for Linux");
 MODULE_LICENSE("GPL");
@@ -561,6 +564,7 @@ const struct proto_ops inet6_dgram_ops = {
        .recvmsg           = inet_recvmsg,              /* ok           */
        .mmap              = sock_no_mmap,
        .sendpage          = sock_no_sendpage,
+       .set_peek_off      = sk_set_peek_off,
 #ifdef CONFIG_COMPAT
        .compat_setsockopt = compat_sock_common_setsockopt,
        .compat_getsockopt = compat_sock_common_getsockopt,
@@ -958,6 +962,10 @@ static int __init inet6_init(void)
        if (err)
                goto udplitev6_fail;
 
+       err = udpv6_offload_init();
+       if (err)
+               goto udpv6_offload_fail;
+
        err = tcpv6_init();
        if (err)
                goto tcpv6_fail;
@@ -970,6 +978,10 @@ static int __init inet6_init(void)
        if (err)
                goto pingv6_fail;
 
+       err = calipso_init();
+       if (err)
+               goto calipso_fail;
+
 #ifdef CONFIG_SYSCTL
        err = ipv6_sysctl_register();
        if (err)
@@ -980,13 +992,17 @@ out:
 
 #ifdef CONFIG_SYSCTL
 sysctl_fail:
-       pingv6_exit();
+       calipso_exit();
 #endif
+calipso_fail:
+       pingv6_exit();
 pingv6_fail:
        ipv6_packet_cleanup();
 ipv6_packet_fail:
        tcpv6_exit();
 tcpv6_fail:
+       udpv6_offload_exit();
+udpv6_offload_fail:
        udplitev6_exit();
 udplitev6_fail:
        udpv6_exit();