diff --git a/0001-kni-fix-build-with-Linux-6.5.patch b/0001-kni-fix-build-with-Linux-6.5.patch new file mode 100644 index 0000000..6913e42 --- /dev/null +++ b/0001-kni-fix-build-with-Linux-6.5.patch @@ -0,0 +1,50 @@ +From: Ferruh Yigit +Date: Tue, 11 Jul 2023 11:09:41 +0100 +Subject: kni: fix build with Linux 6.5 +Git-repo: https://dpdk.org/git/dpdk +Git-commit: dd33d53b9a032d7376aa04a28a1235338e1fd78f +Patch-mainline: yes +References: kernel 6.5 + +The get_user_pages_remote() API has been modified in Linux kernel v6.5 +[1], "struct vm_area_struct **vmas" parameter removed from the API. + +To fix KNI build with Linux kernel v6.5, version check added around the +get_user_pages_remote() API. + +[1] +ca5e863233e8 ("mm/gup: remove vmas parameter from get_user_pages_remote()") + +Cc: stable@dpdk.org + +Signed-off-by: Ferruh Yigit +Signed-off-by: Jiri Slaby +--- + kernel/linux/kni/compat.h | 4 ++++ + kernel/linux/kni/kni_dev.h | 4 ++++ + 2 files changed, 8 insertions(+) + +--- a/kernel/linux/kni/compat.h ++++ b/kernel/linux/kni/compat.h +@@ -153,3 +153,7 @@ + #if KERNEL_VERSION(5, 18, 0) > LINUX_VERSION_CODE + #define HAVE_NETIF_RX_NI + #endif ++ ++#if KERNEL_VERSION(6, 5, 0) > LINUX_VERSION_CODE ++#define HAVE_VMA_IN_GUP ++#endif +--- a/kernel/linux/kni/kni_dev.h ++++ b/kernel/linux/kni/kni_dev.h +@@ -107,7 +107,11 @@ static inline phys_addr_t iova_to_phys(s + #ifdef HAVE_TSK_IN_GUP + ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL); + #else ++ #ifdef HAVE_VMA_IN_GUP + ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL); ++ #else ++ ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL); ++ #endif + #endif + if (ret < 0) + return 0; diff --git a/dpdk.changes b/dpdk.changes index f902f1c..cb4606e 100644 --- a/dpdk.changes +++ b/dpdk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Sep 11 05:40:37 UTC 2023 - Jiri Slaby + +- add 0001-kni-fix-build-with-Linux-6.5.patch to fix build against + kernel 6.5. + ------------------------------------------------------------------- Thu Apr 27 14:50:31 UTC 2023 - Dirk Müller diff --git a/dpdk.spec b/dpdk.spec index 3a66da9..d4bb4a0 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -58,6 +58,7 @@ Source1: preamble Patch0: 0001-fix-cpu-compatibility.patch Patch1: 0002-SLE15-SP3-compatibility-patch-for-kni.patch Patch2: 0001-kni-fix-build-with-Linux-6.3.patch +Patch3: 0001-kni-fix-build-with-Linux-6.5.patch BuildRequires: binutils BuildRequires: doxygen BuildRequires: fdupes