diff --git a/0001-kni-fix-build-with-Linux-6.3.patch b/0001-kni-fix-build-with-Linux-6.3.patch new file mode 100644 index 0000000..fbb9c19 --- /dev/null +++ b/0001-kni-fix-build-with-Linux-6.3.patch @@ -0,0 +1,55 @@ +From: Ferruh Yigit +Date: Fri, 14 Apr 2023 16:25:22 +0100 +Subject: kni: fix build with Linux 6.3 +Patch-mainline: yes +Git-commit: 5f34cc454df420b9b2da8deb949fb76cba058b87 +References: kernel 6.3 + +KNI calls `get_user_pages_remote()` API which is using `FOLL_TOUCH` +flag, but `FOLL_TOUCH` is no more in public headers since v6.3, +causing a build error. + +`FOLL_*` defines in Linux kernel first moved to another header [1], +later some of them moved to memory subsystem internal header [2] for 6.3 + +`get_user_pages_remote()` already sets `FOLL_TOUCH` internally, +no need to set this flag externally anyway, moving flag from the call +altogether. + +[1] +Commit b5054174ac7c ("mm: move FOLL_* defs to mm_types.h") + +[2] +Commit 2c2241081f7d ("mm/gup: move private gup FOLL_ flags to internal.h") + +Fixes: e73831dc6c26 ("kni: support userspace VA") +Cc: stable@dpdk.org + +Signed-off-by: Ferruh Yigit +Reviewed-by: David Marchand +Signed-off-by: Jiri Slaby +--- + kernel/linux/kni/kni_dev.h | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h +index a2c6d9fc..21bfb689 100644 +--- a/kernel/linux/kni/kni_dev.h ++++ b/kernel/linux/kni/kni_dev.h +@@ -105,11 +105,9 @@ static inline phys_addr_t iova_to_phys(struct task_struct *tsk, + + /* Read one page struct info */ + #ifdef HAVE_TSK_IN_GUP +- ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, +- FOLL_TOUCH, &page, NULL, NULL); ++ ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL); + #else +- ret = get_user_pages_remote(tsk->mm, iova, 1, +- FOLL_TOUCH, &page, NULL, NULL); ++ ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL); + #endif + if (ret < 0) + return 0; +-- +2.35.3 + diff --git a/dpdk.changes b/dpdk.changes index 886ed69..726b368 100644 --- a/dpdk.changes +++ b/dpdk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Apr 26 05:28:15 UTC 2023 - Jiri Slaby + +- add 0001-kni-fix-build-with-Linux-6.3.patch to fix build against + kernel 6.3. + ------------------------------------------------------------------- Wed Apr 5 21:10:54 UTC 2023 - Duraisankar P diff --git a/dpdk.spec b/dpdk.spec index 1f93870..3a66da9 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -57,6 +57,7 @@ Source1: preamble # PATCH-FIX-OPENSUSE PATCH-FEATURE-UPSTREAM 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 BuildRequires: binutils BuildRequires: doxygen BuildRequires: fdupes