commit:     13a3eb076dd1b4ebd058333275c0363c7632f761
Author:     Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 15 15:26:44 2020 +0000
Commit:     Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
CommitDate: Sun Nov 15 15:26:44 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13a3eb07

net-firewall/ipt_netflow: backport some fixes for recent kernels

Reported-by: Agostino Sarubbo <ago <AT> gentoo.org>
Closes: https://bugs.gentoo.org/738062
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Sergey Popov <pinkbyte <AT> gentoo.org>

 .../files/ipt_netflow-2.5.1-vlan_dev_priv.patch    | 32 ++++++++++++++++++++++
 .../ipt_netflow/ipt_netflow-2.5.1-r1.ebuild        |  1 +
 2 files changed, 33 insertions(+)

diff --git 
a/net-firewall/ipt_netflow/files/ipt_netflow-2.5.1-vlan_dev_priv.patch 
b/net-firewall/ipt_netflow/files/ipt_netflow-2.5.1-vlan_dev_priv.patch
new file mode 100644
index 00000000000..49721e547fd
--- /dev/null
+++ b/net-firewall/ipt_netflow/files/ipt_netflow-2.5.1-vlan_dev_priv.patch
@@ -0,0 +1,32 @@
+commit 1153f73f038205dc17303e6e6c455bbbb56191f7
+Author: ABC <[email protected]>
+Date:   Wed Oct 14 15:35:57 2020 +0300
+
+    gen_compat_def: Check for vlan_dev_priv instead of version if
+
+diff --git a/gen_compat_def b/gen_compat_def
+index c0f20f6..3965e94 100755
+--- a/gen_compat_def
++++ b/gen_compat_def
+@@ -85,6 +85,8 @@ kbuild_test_struct proc_ops linux/proc_fs.h
+ kbuild_test_struct proc_ops linux/proc_fs.h
+ # No since v5.1, but present in CentOS-8's 4.18.0-227
+ kbuild_test_symbol synchronize_sched linux/rcupdate.h
++# Stumbled on 5.9
++kbuild_test_struct vlan_dev_priv linux/if_vlan.h
+ 
+ echo "// End of compat_def.h"
+ 
+diff --git a/ipt_NETFLOW.c b/ipt_NETFLOW.c
+index 01055df..6f95166 100644
+--- a/ipt_NETFLOW.c
++++ b/ipt_NETFLOW.c
+@@ -4874,7 +4874,7 @@ static void parse_l2_header(const struct sk_buff *skb, 
struct ipt_netflow_tuple
+               tuple->tag[tag_num++] = htons(vlan_tx_tag_get(skb));
+       else if (skb->dev && is_vlan_dev(skb->dev)) {
+               struct net_device *vlan_dev = skb->dev;
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
++# ifdef HAVE_VLAN_DEV_PRIV
+               struct vlan_dev_priv *vlan = vlan_dev_priv(vlan_dev);
+ 
+               /* `if` condition is `#if`ed intentionally, and this is

diff --git a/net-firewall/ipt_netflow/ipt_netflow-2.5.1-r1.ebuild 
b/net-firewall/ipt_netflow/ipt_netflow-2.5.1-r1.ebuild
index 8fd0b2ad8ee..8fa83402ada 100644
--- a/net-firewall/ipt_netflow/ipt_netflow-2.5.1-r1.ebuild
+++ b/net-firewall/ipt_netflow/ipt_netflow-2.5.1-r1.ebuild
@@ -28,6 +28,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
        "${FILESDIR}/${PN}-2.0-configure.patch" # bug #455984
        "${FILESDIR}/${PN}-2.5-gentoo.patch"
+       "${FILESDIR}/${P}-vlan_dev_priv.patch"
 )
 
 pkg_setup() {

Reply via email to