diff --git a/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module/0002-Adjust-to-another-change-in-the-user-page-API.patch b/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module/0002-Adjust-to-another-change-in-the-user-page-API.patch new file mode 100644 index 000000000..73313f380 --- /dev/null +++ b/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module/0002-Adjust-to-another-change-in-the-user-page-API.patch @@ -0,0 +1,32 @@ +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 +--- + zc.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/zc.c b/zc.c +index a97b49f75327..e766ee3eabc7 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; diff --git a/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend b/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend index 087f298e1..ce1d97772 100644 --- a/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend +++ b/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend @@ -1,3 +1,7 @@ -# Copyright (C) 2016 Digi International. +# Copyright (C) 2016-2017 Digi International Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI_append = " file://0002-Adjust-to-another-change-in-the-user-page-API.patch" KERNEL_MODULE_AUTOLOAD = "cryptodev"