cryptodev: Fix build errors with v4.17+

Backport from upstream to update internal syscall function usage.
https://github.com/cryptodev-linux/cryptodev-linux
f60aa08c63fc02780554a0a12180a478ca27d49f

(From OE-Core rev: 270a1e9bcf26a43f5cbdc5b901c4c6f79495311d)

(From OE-Core rev: 87718444c054bad8d83e19d4ead2397420c63289)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
He Zhe 2018-06-21 04:08:45 -07:00 committed by Richard Purdie
parent cfcbc502a7
commit caa4a47877
2 changed files with 44 additions and 0 deletions

View File

@ -10,6 +10,7 @@ DEPENDS += "cryptodev-linux"
SRC_URI += " \
file://0001-Disable-installing-header-file-provided-by-another-p.patch \
file://0001-ioctl.c-Fix-build-with-linux-4.13.patch \
file://0001-ioctl.c-Fix-build-with-linux-4.17.patch \
"
EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'

View File

@ -0,0 +1,43 @@
From f60aa08c63fc02780554a0a12180a478ca27d49f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
Date: Wed, 23 May 2018 18:43:39 +0300
Subject: [PATCH] ioctl.c: Fix build with linux 4.17
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since kernel 4.17-rc1, sys_* syscalls can no longer be called directly:
819671ff849b ("syscalls: define and explain goal to not call syscalls in the kernel")
Since cryptodev uses sys_close() - and this has been removed in commit:
2ca2a09d6215 ("fs: add ksys_close() wrapper; remove in-kernel calls to sys_close()")
cryptodev has to be updated to use the ksys_close() wrapper.
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Upstream-Status: Backport
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
ioctl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ioctl.c b/ioctl.c
index d831b0c..2571034 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -828,7 +828,11 @@ cryptodev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg_)
fd = clonefd(filp);
ret = put_user(fd, p);
if (unlikely(ret)) {
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
sys_close(fd);
+#else
+ ksys_close(fd);
+#endif
return ret;
}
return ret;
--
2.7.4