blob: fb75278b5e18291bbc5ec4b32cfb090c6c43f0a1 [file] [log] [blame]
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