From 59f0d7c3f5b8e327bc208479a786f3dee1d3180555dcaa01868cc57ed45c38be Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 21 Aug 2024 11:43:47 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/network/dpdk?expand=0&rev=160 --- 0001-kni-fix-build-with-Linux-6.3.patch | 55 ------------------------- 0001-kni-fix-build-with-Linux-6.5.patch | 50 ---------------------- 2 files changed, 105 deletions(-) delete mode 100644 0001-kni-fix-build-with-Linux-6.3.patch delete mode 100644 0001-kni-fix-build-with-Linux-6.5.patch diff --git a/0001-kni-fix-build-with-Linux-6.3.patch b/0001-kni-fix-build-with-Linux-6.3.patch deleted file mode 100644 index fbb9c19..0000000 --- a/0001-kni-fix-build-with-Linux-6.3.patch +++ /dev/null @@ -1,55 +0,0 @@ -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/0001-kni-fix-build-with-Linux-6.5.patch b/0001-kni-fix-build-with-Linux-6.5.patch deleted file mode 100644 index 6913e42..0000000 --- a/0001-kni-fix-build-with-Linux-6.5.patch +++ /dev/null @@ -1,50 +0,0 @@ -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;