diff options
author | Sergey Popov <pinkbyte@gentoo.org> | 2021-07-05 17:20:50 +0300 |
---|---|---|
committer | Sergey Popov <pinkbyte@gentoo.org> | 2021-07-05 17:21:10 +0300 |
commit | 205596a0f676638bc1fa3a4f6b552b984c98a5d4 (patch) | |
tree | 30e1ae9eb199c3edda7a2342feaa5f26883e066e /net-firewall | |
parent | www-servers/tomcat: bump to 9.0.50 (diff) | |
download | gentoo-205596a0f676638bc1fa3a4f6b552b984c98a5d4.tar.gz gentoo-205596a0f676638bc1fa3a4f6b552b984c98a5d4.tar.bz2 gentoo-205596a0f676638bc1fa3a4f6b552b984c98a5d4.zip |
net-firewall/ipt_netflow: backport fix regarding obsolete ref_module call
Closes: https://bugs.gentoo.org/781014
Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Sergey Popov <pinkbyte@gentoo.org>
Diffstat (limited to 'net-firewall')
-rw-r--r-- | net-firewall/ipt_netflow/files/ipt_netflow-2.6-ref_module_fix.patch | 60 | ||||
-rw-r--r-- | net-firewall/ipt_netflow/ipt_netflow-2.6.ebuild | 1 |
2 files changed, 61 insertions, 0 deletions
diff --git a/net-firewall/ipt_netflow/files/ipt_netflow-2.6-ref_module_fix.patch b/net-firewall/ipt_netflow/files/ipt_netflow-2.6-ref_module_fix.patch new file mode 100644 index 000000000000..21d647190709 --- /dev/null +++ b/net-firewall/ipt_netflow/files/ipt_netflow-2.6-ref_module_fix.patch @@ -0,0 +1,60 @@ +commit 352cdb28eecbb57de3509b18dfc37dcce0455c01 +Author: ABC <abc@openwall.com> +Date: Tue Jun 22 19:07:02 2021 +0300 + + Fix compile for stable kernels by not using 'ref_module' + + `ref_module' unexport in 7ef5264de7732 ("modules: mark ref_module + static") is back-ported into stable kernels making old `#if + LINUX_VERSION_CODE' checks irrelevant or too complicated to update. + + Do not use `ref_module' API at all since `try_module_get' is ancient + enough to use always. + + Reported-by: https://github.com/xtaran + Fixes: https://github.com/aabc/ipt-netflow/issues/177 + +diff --git a/compat.h b/compat.h +index 99edf91..30f1d8f 100644 +--- a/compat.h ++++ b/compat.h +@@ -170,10 +170,6 @@ static int __ethtool_get_settings(struct net_device *dev, struct ethtool_cmd *cm + # define CHECK_OK 0 + #endif + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) +-# define use_module ref_module +-#endif +- + #ifndef NF_IP_LOCAL_IN /* 2.6.25 */ + # define NF_IP_PRE_ROUTING NF_INET_PRE_ROUTING + # define NF_IP_LOCAL_IN NF_INET_LOCAL_IN +diff --git a/ipt_NETFLOW.c b/ipt_NETFLOW.c +index d3d3901..c4c049d 100644 +--- a/ipt_NETFLOW.c ++++ b/ipt_NETFLOW.c +@@ -5494,12 +5494,8 @@ static void register_ct_events(void) + } + /* Reference netlink module to prevent it's unsafe unload before us. */ + if (!netlink_m && (netlink_m = find_module(NETLINK_M))) { +-#if LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0) +- use_module(THIS_MODULE, netlink_m); +-#else + if (!try_module_get(netlink_m)) + netlink_m = NULL; +-#endif + } + + /* Register ct events callback. */ +@@ -5527,10 +5523,9 @@ static void unregister_ct_events(void) + #else /* < v3.2 */ + unset_notifier_cb(); + #endif /* v3.2 */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) + module_put(netlink_m); + netlink_m = NULL; +-#endif ++ + rcu_assign_pointer(saved_event_cb, NULL); + #else /* < v2.6.31 */ + nf_conntrack_unregister_notifier(&ctnl_notifier); diff --git a/net-firewall/ipt_netflow/ipt_netflow-2.6.ebuild b/net-firewall/ipt_netflow/ipt_netflow-2.6.ebuild index 29ed265510fa..35009fb8ac17 100644 --- a/net-firewall/ipt_netflow/ipt_netflow-2.6.ebuild +++ b/net-firewall/ipt_netflow/ipt_netflow-2.6.ebuild @@ -31,6 +31,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-2.0-configure.patch" # bug #455984 "${FILESDIR}/${PN}-2.6-gentoo.patch" + "${FILESDIR}/${P}-ref_module_fix.patch" # bug #781014 ) pkg_setup() { |