From 38e2a3a90047be333299a6416f377c2f3aa7d754 Mon Sep 17 00:00:00 2001 From: moonman <moonman.ca@gmail.com> Date: Mon, 30 May 2016 13:19:19 -0600 Subject: [PATCH] alarm/cryptodev-dkms to 1.8-2 --- alarm/cryptodev-dkms/PKGBUILD | 13 ++++-- .../cryptodev_linux_4.6_fix.patch | 40 +++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 alarm/cryptodev-dkms/cryptodev_linux_4.6_fix.patch diff --git a/alarm/cryptodev-dkms/PKGBUILD b/alarm/cryptodev-dkms/PKGBUILD index 74cb17639..62a7c2f81 100644 --- a/alarm/cryptodev-dkms/PKGBUILD +++ b/alarm/cryptodev-dkms/PKGBUILD @@ -5,7 +5,7 @@ _pkgname=${pkgname%-*} cryptodev_commit=7a3a9ee1329f7224b4fc564b80ef8160457caf76 pkgver=1.8 -pkgrel=1 +pkgrel=2 pkgdesc="Cryptodev module to take advantage of hardware crypto engines in userspace" arch=('arm' 'armv6h' 'armv7h' 'aarch64') @@ -15,9 +15,16 @@ depends=('dkms') install=${pkgname}.install provides=('cryptodev_friendly') source=("cryptodev-${cryptodev_commit}.tar.gz::https://github.com/cryptodev-linux/cryptodev-linux/archive/${cryptodev_commit}.tar.gz" - 'dkms.conf') + 'dkms.conf' + 'cryptodev_linux_4.6_fix.patch') sha256sums=('4ed29c923506c2e25e7250cf5984f659a6a430548fe625092c6a2d5f55d2798a' - '8a4e7273cc8b9b62fddb86e8328b5a511fc6e92cefe7444d8aad45410b41be5f') + '8a4e7273cc8b9b62fddb86e8328b5a511fc6e92cefe7444d8aad45410b41be5f' + '271e8f0891f57e00f50c1dbb67edc6369e3b45eb850a79099cf50916f68cf723') +prepare() { + cd "${srcdir}/cryptodev-linux-${cryptodev_commit}" + patch -Np1 -i "${srcdir}/cryptodev_linux_4.6_fix.patch" +} + package() { cd "${srcdir}" diff --git a/alarm/cryptodev-dkms/cryptodev_linux_4.6_fix.patch b/alarm/cryptodev-dkms/cryptodev_linux_4.6_fix.patch new file mode 100644 index 000000000..a28c4d8bd --- /dev/null +++ b/alarm/cryptodev-dkms/cryptodev_linux_4.6_fix.patch @@ -0,0 +1,40 @@ +From cdbe7ee5978704c788e91170467fe0db064650fe Mon Sep 17 00:00:00 2001 +From: moonman <moonman.ca@gmail.com> +Date: Mon, 30 May 2016 03:23:17 -0600 +Subject: [PATCH] fix build error on linux >= 4.6.0 + +--- + zc.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/zc.c b/zc.c +index 29b0501..eabfab7 100644 +--- a/zc.c ++++ b/zc.c +@@ -59,8 +59,12 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write, + } + + down_read(&mm->mmap_sem); +- ret = get_user_pages(task, mm, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) ++ ret = get_user_pages((unsigned long)addr, pgcount, write, 0, pg, NULL); ++#else ++ ret = get_user_pages(task, mm, + (unsigned long)addr, pgcount, write, 0, pg, NULL); ++#endif + up_read(&mm->mmap_sem); + if (ret != pgcount) + return -EINVAL; +@@ -119,7 +123,11 @@ void release_user_pages(struct csession *ses) + else + ses->readonly_pages--; + +- page_cache_release(ses->pages[i]); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) ++ put_page(ses->pages[i]); ++#else ++ page_cache_release(ses->pages[i]); ++#endif + } + ses->used_pages = 0; + }