summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/cryptodev
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2017-03-03 16:06:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-04 23:18:16 +0000
commite0839dd11394e1308251db8219cc8abdecf13757 (patch)
tree271b70c0943922e310abdc345342a29179a7ab90 /meta/recipes-kernel/cryptodev
parent977047fb997aa243b86dc23f057c0d098cbdc158 (diff)
downloadpoky-e0839dd11394e1308251db8219cc8abdecf13757.tar.gz
cryptodev: update to handle 4.10 kernel API
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/cryptodev')
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev.inc3
-rw-r--r--meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch57
2 files changed, 59 insertions, 1 deletions
diff --git a/meta/recipes-kernel/cryptodev/cryptodev.inc b/meta/recipes-kernel/cryptodev/cryptodev.inc
index 62412383fb..24b32279a2 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev.inc
+++ b/meta/recipes-kernel/cryptodev/cryptodev.inc
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6SRC_URI = "http://download.gna.org/cryptodev-linux/cryptodev-linux-${PV}.tar.gz \ 6SRC_URI = "http://download.gna.org/cryptodev-linux/cryptodev-linux-${PV}.tar.gz \
7 file://06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch \ 7 file://06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch \
8 file://cb186f682679383e8b5806240927903730ce85d9.patch \ 8 file://cb186f682679383e8b5806240927903730ce85d9.patch \
9 file://0001-Adjust-to-another-change-in-the-user-page-API.patch" 9 file://0001-Adjust-to-another-change-in-the-user-page-API.patch \
10 file://kernel-4-10-changes.patch"
10 11
11SRC_URI[md5sum] = "02644cc4cd02301e0b503a332eb2f0b5" 12SRC_URI[md5sum] = "02644cc4cd02301e0b503a332eb2f0b5"
12SRC_URI[sha256sum] = "67fabde9fb67b286a96c4f45b594b0eccd0f761b495705c18f2ae9461b831376" 13SRC_URI[sha256sum] = "67fabde9fb67b286a96c4f45b594b0eccd0f761b495705c18f2ae9461b831376"
diff --git a/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch b/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch
new file mode 100644
index 0000000000..93d608b81d
--- /dev/null
+++ b/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch
@@ -0,0 +1,57 @@
1Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 2b29be8ac41414ed19cb4f5d5626d9bd0d7b11a8 Mon Sep 17 00:00:00 2001
5From: Cristian Stoica <cristian.stoica@nxp.com>
6Date: Wed, 8 Feb 2017 12:11:04 +0200
7Subject: [PATCH] adjust to API changes in kernel >=4.10
8
9There are many changes related to get_user_pages and the code is rewritten
10for clarity.
11
12Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
13---
14 zc.c | 28 +++++++++++++++++-----------
15 1 file changed, 17 insertions(+), 11 deletions(-)
16
17diff --git a/zc.c b/zc.c
18index e766ee3..2f4ea99 100644
19--- a/zc.c
20+++ b/zc.c
21@@ -59,19 +59,25 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
22 }
23
24 down_read(&mm->mmap_sem);
25-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
26- ret = get_user_pages_remote(
27+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0))
28+ ret = get_user_pages(task, mm,
29+ (unsigned long)addr, pgcount, write, 0, pg, NULL);
30 #else
31- ret = get_user_pages(
32-#endif
33- task, mm,
34- (unsigned long)addr, pgcount,
35-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
36- write ? FOLL_WRITE : 0,
37-#else
38- write, 0,
39-#endif
40+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0))
41+ ret = get_user_pages_remote(task, mm,
42+ (unsigned long)addr, pgcount, write, 0, pg, NULL);
43+# else
44+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
45+ ret = get_user_pages_remote(task, mm,
46+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
47 pg, NULL);
48+# else
49+ ret = get_user_pages_remote(task, mm,
50+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
51+ pg, NULL, NULL);
52+# endif
53+# endif
54+#endif
55 up_read(&mm->mmap_sem);
56 if (ret != pgcount)
57 return -EINVAL;