--- zzzz-none-000/linux-4.9.276/net/ipv6/icmp.c 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/net/ipv6/icmp.c 2023-04-05 08:19:02.000000000 +0000 @@ -69,6 +69,7 @@ #include #include #include +#include #include @@ -92,9 +93,10 @@ struct net *net = dev_net(skb->dev); if (type == ICMPV6_PKT_TOOBIG) - ip6_update_pmtu(skb, net, info, 0, 0); + ip6_update_pmtu(skb, net, info, 0, 0, sock_net_uid(net, NULL)); else if (type == NDISC_REDIRECT) - ip6_redirect(skb, net, skb->dev->ifindex, 0); + ip6_redirect(skb, net, skb->dev->ifindex, 0, + sock_net_uid(net, NULL)); if (!(type & ICMPV6_INFOMSG_MASK)) if (icmp6->icmp6_type == ICMPV6_ECHO_REQUEST) @@ -486,6 +488,7 @@ fl6.flowi6_oif = iif; fl6.fl6_icmp_type = type; fl6.fl6_icmp_code = code; + fl6.flowi6_uid = sock_net_uid(net, NULL); security_skb_classify_flow(skb, flowi6_to_flowi(&fl6)); sk = icmpv6_xmit_lock(net); @@ -661,6 +664,7 @@ fl6.flowi6_oif = skb->dev->ifindex; fl6.fl6_icmp_type = ICMPV6_ECHO_REPLY; fl6.flowi6_mark = mark; + fl6.flowi6_uid = sock_net_uid(net, NULL); security_skb_classify_flow(skb, flowi6_to_flowi(&fl6)); sk = icmpv6_xmit_lock(net); @@ -806,6 +810,8 @@ ICMP6MSGIN_INC_STATS(dev_net(dev), idev, type); + avm_pa_add_local_session(AVM_PA_NET_IP6_DEVINFO(dev_net(skb->dev)), skb, NULL); + switch (type) { case ICMPV6_ECHO_REQUEST: icmpv6_echo_reply(skb);