diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-08 10:11:38 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-08 10:11:38 +0100 |
commit | d2800e9cfd6bb876f597adbb806de21774067413 (patch) | |
tree | 5236f073d5af51d5060a46d09884a55b36ea3440 /net/ipv6/af_inet6.c | |
parent | 3fe26611bb4999c3717d3aface0bac722b9d2653 (diff) | |
parent | afabf37012e839802f9f3819f621e16aa4acefd2 (diff) | |
download | kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.zip kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.tar.gz kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.tar.bz2 |
Merge commit 'afabf37012e839802f9f3819f621e16aa4acefd2' into upstreaming
update from cm-13.0
Conflicts:
Makefile
crypto/algapi.c
drivers/char/diag/diagchar.h
drivers/char/diag/diagchar_core.c
drivers/misc/Makefile
kernel/timeconst.pl
Diffstat (limited to 'net/ipv6/af_inet6.c')
-rw-r--r-- | net/ipv6/af_inet6.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 7e8340e..8ab921a6 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -49,6 +49,7 @@ #include <net/udplite.h> #include <net/tcp.h> #include <net/ipip.h> +#include <net/ping.h> #include <net/protocol.h> #include <net/inet_common.h> #include <net/route.h> @@ -701,6 +702,7 @@ int inet6_sk_rebuild_header(struct sock *sk) fl6.flowi6_mark = sk->sk_mark; fl6.fl6_dport = inet->inet_dport; fl6.fl6_sport = inet->inet_sport; + fl6.flowi6_uid = sock_i_uid(sk); security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); final_p = fl6_update_dst(&fl6, np->opt, &final); @@ -1130,6 +1132,9 @@ static int __init inet6_init(void) if (err) goto out_unregister_udplite_proto; + err = proto_register(&pingv6_prot, 1); + if (err) + goto out_unregister_ping_proto; /* We MUST register RAW sockets before we create the ICMP6, * IGMP6, or NDISC control sockets. @@ -1223,6 +1228,10 @@ static int __init inet6_init(void) if (err) goto ipv6_packet_fail; + err = pingv6_init(); + if (err) + goto pingv6_fail; + #ifdef CONFIG_SYSCTL err = ipv6_sysctl_register(); if (err) @@ -1235,6 +1244,8 @@ out: sysctl_fail: ipv6_packet_cleanup(); #endif +pingv6_fail: + pingv6_exit(); ipv6_packet_fail: tcpv6_exit(); tcpv6_fail: @@ -1282,6 +1293,8 @@ static_sysctl_fail: rtnl_unregister_all(PF_INET6); out_sock_register_fail: rawv6_exit(); +out_unregister_ping_proto: + proto_unregister(&pingv6_prot); out_unregister_raw_proto: proto_unregister(&rawv6_prot); out_unregister_udplite_proto: |