| 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 |
| |