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 --- meta/recipes-kernel/cryptodev/cryptodev.inc | 3 +- ...st-to-another-change-in-the-user-page-API.patch | 40 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch (limited to 'meta/recipes-kernel') diff --git a/meta/recipes-kernel/cryptodev/cryptodev.inc b/meta/recipes-kernel/cryptodev/cryptodev.inc index 160ab30840..62412383fb 100644 --- a/meta/recipes-kernel/cryptodev/cryptodev.inc +++ b/meta/recipes-kernel/cryptodev/cryptodev.inc @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://download.gna.org/cryptodev-linux/cryptodev-linux-${PV}.tar.gz \ file://06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch \ - file://cb186f682679383e8b5806240927903730ce85d9.patch" + file://cb186f682679383e8b5806240927903730ce85d9.patch \ + file://0001-Adjust-to-another-change-in-the-user-page-API.patch" SRC_URI[md5sum] = "02644cc4cd02301e0b503a332eb2f0b5" SRC_URI[sha256sum] = "67fabde9fb67b286a96c4f45b594b0eccd0f761b495705c18f2ae9461b831376" 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 1.2.3-korg