Skip to contentSkip to conversation

cryptodev: Fix changed mm interface in Kernel 4.9

PATCH Superseded Daniel Schultz 3 participants 3 messages Jan 26, 2017

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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

Upstream-Status: Backport

---
 meta/recipes-kernel/cryptodev/cryptodev.inc        |  3 +-
 ...st-to-another-change-in-the-user-page-API.patch | 38 ++++++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch
meta/recipes-kernel/cryptodev/cryptodev.inc +2 -1
index 160ab30..6241238 100644
@@ -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"
meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch new file +38 -0
new file mode 100644
index 0000000..c001b6f
@@ -0,0 +1,38 @@
+From f126e4837e6334d0464540995df7426fedf6b175 Mon Sep 17 00:00:00 2001
+From: Michael Weiser <[email protected]>
+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
+
+Signed-off-by: Daniel Schultz <[email protected]>
+---
+ 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
+
Signature · 1 line
1.9.1
#1 lore raw
Quoted 2 lines · Daniel Schultz

Upstream-Status: Backport

This needs to go in the header of the patch you apply, not the commit message.

Ross

#2 lore raw

✗ patchtest: failure for cryptodev: Fix changed mm interface in Kernel 4.9 (rev2)

In reply to Daniel Schultz

== Series Details ==

Series: cryptodev: Fix changed mm interface in Kernel 4.9 (rev2)
Revision: 2
URL : https://patchwork.openembedded.org/series/4970/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

* Issue Added patch file is missing Upstream-Status in the header [test_upstream_status_presence]
Suggested fix Add Upstream-Status: <status> to the header of meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch (possible values: Pending, Submitted, Accepted, Backport, Denied, Inappropriate)

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe