41 lines
1.1 KiB
Diff
41 lines
1.1 KiB
Diff
From f126e4837e6334d0464540995df7426fedf6b175 Mon Sep 17 00:00:00 2001
|
|
From: Michael Weiser <michael.weiser@gmx.de>
|
|
Date: Fri, 11 Nov 2016 18:09:32 +0100
|
|
Subject: [PATCH] Adjust to another change in the user page API
|
|
|
|
4.9.0 will replace the write and force flags of get_user_pages_remote()
|
|
with a gup_flags parameter[1]. Distinguish the two APIs based on kernel
|
|
version we're compiling for.
|
|
|
|
[1] https://github.com/torvalds/linux/commit/9beae1ea89305a9667ceaab6d0bf46a045ad71e7
|
|
|
|
Upstream-Status: Backport
|
|
|
|
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
|
|
---
|
|
zc.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/zc.c b/zc.c
|
|
index a97b49f..e766ee3 100644
|
|
--- a/zc.c
|
|
+++ b/zc.c
|
|
@@ -65,7 +65,13 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
|
|
ret = get_user_pages(
|
|
#endif
|
|
task, mm,
|
|
- (unsigned long)addr, pgcount, write, 0, pg, NULL);
|
|
+ (unsigned long)addr, pgcount,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
|
|
+ write ? FOLL_WRITE : 0,
|
|
+#else
|
|
+ write, 0,
|
|
+#endif
|
|
+ pg, NULL);
|
|
up_read(&mm->mmap_sem);
|
|
if (ret != pgcount)
|
|
return -EINVAL;
|
|
--
|
|
1.9.1
|
|
|