diff --git a/0005-kni-fix-build-with-kernel-4.11.patch b/0005-kni-fix-build-with-kernel-4.11.patch new file mode 100644 index 0000000..4b9f40e --- /dev/null +++ b/0005-kni-fix-build-with-kernel-4.11.patch @@ -0,0 +1,76 @@ +From d4d2380cbb02980bf0334601d9ce6ec5400413f9 Mon Sep 17 00:00:00 2001 +From: Ferruh Yigit +Date: Tue, 21 Mar 2017 09:54:48 +0000 +Subject: [PATCH] kni: fix build with kernel 4.11 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +compile error: +.../build/build/lib/librte_eal/linuxapp/kni/kni_net.c:124:6: +error: implicit declaration of function ‘signal_pending’ +[-Werror=implicit-function-declaration] + if (signal_pending(current) || ret_val <= 0) { + ^~~~~~~~~~~~~~ + +Linux 4.11 moves signal function declarations to its own header file: +Linux: 174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & +sigpending methods from into ") + +Use new header file "linux/sched/signal.h" to fix the build error. + +Cc: stable@dpdk.org + +Reported-by: Jerin Jacob +Signed-off-by: Ferruh Yigit +Tested-by: Jerin Jacob +Tested-by: Pankaj Gupta +--- + lib/librte_eal/linuxapp/kni/compat.h | 6 ++++++ + lib/librte_eal/linuxapp/kni/kni_dev.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h +index 78da08e5e..d96275af9 100644 +--- a/lib/librte_eal/linuxapp/kni/compat.h ++++ b/lib/librte_eal/linuxapp/kni/compat.h +@@ -2,6 +2,8 @@ + * Minimal wrappers to allow compiling kni on older kernels. + */ + ++#include ++ + #ifndef RHEL_RELEASE_VERSION + #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) + #endif +@@ -67,3 +69,7 @@ + (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34))) + #undef NET_NAME_UNKNOWN + #endif ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++#define HAVE_SIGNAL_FUNCTIONS_OWN_HEADER ++#endif +diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/lib/librte_eal/linuxapp/kni/kni_dev.h +index 002e5fa6c..72385ab4c 100644 +--- a/lib/librte_eal/linuxapp/kni/kni_dev.h ++++ b/lib/librte_eal/linuxapp/kni/kni_dev.h +@@ -30,9 +30,15 @@ + #endif + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + ++#include "compat.h" ++ + #include + #include ++#ifdef HAVE_SIGNAL_FUNCTIONS_OWN_HEADER ++#include ++#else + #include ++#endif + #include + #include + #include +-- +2.12.2 + diff --git a/dpdk-thunderx.changes b/dpdk-thunderx.changes index 6b1ab43..1e36d46 100644 --- a/dpdk-thunderx.changes +++ b/dpdk-thunderx.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de + +- Add upstream patch to fix building against linux kernel 4.11 + [+0005-kni-fix-build-with-kernel-4.11.patch] + ------------------------------------------------------------------- Tue Apr 25 13:40:05 CEST 2017 - ndas@suse.de diff --git a/dpdk-thunderx.spec b/dpdk-thunderx.spec index 6fafbd2..3f3c0e8 100644 --- a/dpdk-thunderx.spec +++ b/dpdk-thunderx.spec @@ -61,6 +61,9 @@ Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch +# PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-kernel-4.11.patch +# This patch fixes the kni build against linux kernel 4.11 +Patch5: 0005-kni-fix-build-with-kernel-4.11.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc6 @@ -149,6 +152,8 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the %patch2 -p1 -z .kni1 %patch3 -p1 -z .kni2 %patch4 -p1 -z .thunderx +%patch5 -p1 -z .kni3 + # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk diff --git a/dpdk.changes b/dpdk.changes index 6b1ab43..1e36d46 100644 --- a/dpdk.changes +++ b/dpdk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de + +- Add upstream patch to fix building against linux kernel 4.11 + [+0005-kni-fix-build-with-kernel-4.11.patch] + ------------------------------------------------------------------- Tue Apr 25 13:40:05 CEST 2017 - ndas@suse.de diff --git a/dpdk.spec b/dpdk.spec index 91886df..dd98f34 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -59,6 +59,9 @@ Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch +# PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-kernel-4.11.patch +# This patch fixes the kni build against linux kernel 4.11 +Patch5: 0005-kni-fix-build-with-kernel-4.11.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc6 @@ -147,6 +150,8 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the %patch2 -p1 -z .kni1 %patch3 -p1 -z .kni2 %patch4 -p1 -z .thunderx +%patch5 -p1 -z .kni3 + # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk