aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>2019-05-03 14:44:18 +0200
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>2019-05-03 14:44:18 +0200
commit09b65f891eb81331638ce8f8a80b02b63441726f (patch)
treea5bd9afa997b2dc497c3b06ced12cd931652d83a
parentb96fb39b703268d76058cf555dca818385887d83 (diff)
fix kni DKMS build with Linux 5.1 kernels (LP: #1827102)
Change-Id: Ib0782e7c1a908ac982f136d1e4aa9dee7e76362e Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-rw-r--r--debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch73
-rw-r--r--debian/patches/series1
2 files changed, 74 insertions, 0 deletions
diff --git a/debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch b/debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch
new file mode 100644
index 00000000..c06448a7
--- /dev/null
+++ b/debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch
@@ -0,0 +1,73 @@
+From db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4 Mon Sep 17 00:00:00 2001
+From: Ferruh Yigit <ferruh.yigit@intel.com>
+Date: Mon, 8 Apr 2019 15:22:26 +0100
+Subject: [PATCH] kni: fix build with Linux 5.1
+
+Build error seen with Linux kernel 5.1 and
+when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.
+
+Build error:
+kernel/linux/kni/igb_main.c:2352:18:
+ error: initialization of ... from incompatible pointer type ...
+ [-Werror=incompatible-pointer-types]
+ .ndo_fdb_add = igb_ndo_fdb_add,
+ ^~~~~~~~~~~~~~~
+
+ndo_fdb_add() is changed in Linux kernel version 5.1 and now requires
+a new parameter, 'struct netlink_ext_ack *extack':
+Linux Commit 87b0984ebfab ("net: Add extack argument to ndo_fdb_add()")
+
+ndo_fdb_add() parameter updated with compile time Linux kernel version
+check.
+
+Cc: stable@dpdk.org
+
+Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
+Tested-by: Bruce Richardson <bruce.richardson@intel.com>
+Reviewed-by: Rami Rosen <ramirose@gmail.com>
+
+Origin: upstream, https://git.dpdk.org/dpdk/commit/?id=db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1827102
+Last-Update: 2019-05-03
+
+---
+ kernel/linux/kni/ethtool/igb/igb_main.c | 6 ++++++
+ kernel/linux/kni/ethtool/igb/kcompat.h | 4 ++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/kernel/linux/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c
+index 0b4faeae5..cda2b063d 100644
+--- a/kernel/linux/kni/ethtool/igb/igb_main.c
++++ b/kernel/linux/kni/ethtool/igb/igb_main.c
+@@ -2112,7 +2112,13 @@ static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
+ #ifdef HAVE_NDO_FDB_ADD_VID
+ u16 vid,
+ #endif
++#ifdef HAVE_NDO_FDB_ADD_EXTACK
++ u16 flags,
++ struct netlink_ext_ack *extack)
++#else
+ u16 flags)
++#endif
++
+ #else
+ static int igb_ndo_fdb_add(struct ndmsg *ndm,
+ struct net_device *dev,
+diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
+index 11b15f3a9..649a69c81 100644
+--- a/kernel/linux/kni/ethtool/igb/kcompat.h
++++ b/kernel/linux/kni/ethtool/igb/kcompat.h
+@@ -3945,6 +3945,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
+ #define HAVE_NDO_BRIDGE_SETLINK_EXTACK
+ #endif /* >= 5.0.0 */
+
++#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0) )
++#define HAVE_NDO_FDB_ADD_EXTACK
++#endif /* >= 5.1.0 */
++
+ #if defined(timer_setup) && defined(from_timer)
+ #define HAVE_TIMER_SETUP
+ #endif
+--
+2.21.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 2e1b63d8..7f8ef44a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
0005-build-use-dependency-instead-of-find_library.patch
0006-build-reorder-libraries-and-build-eal-before-cmdline.patch
0007-build-use-dependency-for-libbsd-instead-of-manual-ap.patch
+lp-1827102-kni-fix-build-with-Linux-5.1.patch