[v2] kni: fix build with Linux 6.3

Message ID 20230414152522.83636-1-ferruh.yigit@amd.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2] kni: fix build with Linux 6.3 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS

Commit Message

Ferruh Yigit April 14, 2023, 3:25 p.m. UTC
  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")

Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
Cc: David Marchand <david.marchand@redhat.com>
Cc: Vamsi Krishna Attunuru <vattunuru@marvell.com>

v2:
 * Remove 'FOLL_TOUCH' flag from 'get_user_pages_remote()'
---
 kernel/linux/kni/kni_dev.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Comments

David Marchand April 17, 2023, 7:32 a.m. UTC | #1
Hello Ferruh,

On Fri, Apr 14, 2023 at 5:25 PM Ferruh Yigit <ferruh.yigit@amd.com> wrote:
>
> 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")
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>

Reviewed-by: David Marchand <david.marchand@redhat.com>
Thanks.
  
David Marchand April 19, 2023, 2:38 p.m. UTC | #2
> On Fri, Apr 14, 2023 at 5:25 PM Ferruh Yigit <ferruh.yigit@amd.com> wrote:
> >
> > 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")
> >
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
>
> Reviewed-by: David Marchand <david.marchand@redhat.com>

Applied, thanks Ferruh.
  

Patch

diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h
index a2c6d9fc1a53..21bfb6890e30 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;