From d053ce30718ab17e6eef843f7acef249f4f0f6a5 Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Thu, 26 Jan 2017 14:44:56 +0100 Subject: cryptodev: Fix changed mm interface in Kernel 4.9 The memory management interface has changed in Kernel 4.9. This patch adds a patch which fixes the paramter of the function call. Backport from https://github.com/cryptodev-linux/cryptodev-linux Based on commit f126e4837e6334d0464540995df7426fedf6b175 (From OE-Core rev: 29e3e2999ae0fd92fd41c2180359e110301a488c) Signed-off-by: Daniel Schultz Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...st-to-another-change-in-the-user-page-API.patch | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch (limited to 'meta/recipes-kernel/cryptodev/files') diff --git a/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch b/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch new file mode 100644 index 0000000000..fb75278b5e --- /dev/null +++ b/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch @@ -0,0 +1,40 @@ +From f126e4837e6334d0464540995df7426fedf6b175 Mon Sep 17 00:00:00 2001 +From: Michael Weiser +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 +--- + 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 + -- cgit v1.2.3-54-g00ecf