--- zzzz-none-000/linux-4.9.279/net/netfilter/nf_conntrack_netlink.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-atom-6591-750/linux-4.9.279/net/netfilter/nf_conntrack_netlink.c 2023-02-08 11:43:43.000000000 +0000 @@ -14,6 +14,10 @@ * This software may be used and distributed according to the terms * of the GNU General Public License, incorporated herein by reference. */ +/* + * Includes Intel Corporation's changes/modifications dated: 2018. + * Changed/modified portions - Copyright (c) 2018, Intel Corporation. + */ #include #include @@ -57,6 +61,10 @@ #include #include +#ifdef CONFIG_INTEL_KERNEL_PP_DRIVER_LOCAL +#include +#endif /* CONFIG_INTEL_KERNEL_PP_DRIVER_LOCAL */ + MODULE_LICENSE("GPL"); static char __initdata version[] = "0.93"; @@ -1124,9 +1132,17 @@ if (IS_ERR(filter)) return PTR_ERR(filter); } - +#ifdef CONFIG_INTEL_KERNEL_PP_DRIVER_LOCAL + /* For PP on ATOM, all active PP sessions to be deleted and disable PP to + * avoid any new session creation when connection tracking entry is getting + * flushed. This change is specific to PP on ATOM configuration only. */ + ti_hil_pp_event (NETFILTER_CT_FLUSH_START, (void *)NULL); +#endif nf_ct_iterate_cleanup(net, ctnetlink_filter_match, filter, portid, report); +#ifdef CONFIG_INTEL_KERNEL_PP_DRIVER_LOCAL + ti_hil_pp_event (NETFILTER_CT_FLUSH_END, (void *)NULL); +#endif kfree(filter); return 0; @@ -1254,7 +1270,8 @@ if (err <= 0) goto free; - err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, MSG_DONTWAIT); + err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, + MSG_DONTWAIT, 0); if (err < 0) goto out; @@ -2111,7 +2128,8 @@ if (err <= 0) goto free; - err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, MSG_DONTWAIT); + err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, + MSG_DONTWAIT, 0); if (err < 0) goto out; @@ -2865,7 +2883,8 @@ if (err <= 0) goto free; - err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, MSG_DONTWAIT); + err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).portid, + MSG_DONTWAIT, 0); if (err < 0) goto out;