From 270a1e9bcf26a43f5cbdc5b901c4c6f79495311d Mon Sep 17 00:00:00 2001 From: He Zhe Date: Thu, 21 Jun 2018 04:08:45 -0700 Subject: cryptodev: Fix build errors with v4.17+ Backport from upstream to update internal syscall function usage. https://github.com/cryptodev-linux/cryptodev-linux f60aa08c63fc02780554a0a12180a478ca27d49f Signed-off-by: He Zhe Signed-off-by: Ross Burton --- .../cryptodev/cryptodev-module_1.9.bb | 1 + .../0001-ioctl.c-Fix-build-with-linux-4.17.patch | 43 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch (limited to 'meta/recipes-kernel') diff --git a/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb b/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb index ed6d0ecae9..6052650c95 100644 --- a/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb +++ b/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb @@ -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}"' diff --git a/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch b/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch new file mode 100644 index 0000000000..5881d1c4ee --- /dev/null +++ b/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch @@ -0,0 +1,43 @@ +From f60aa08c63fc02780554a0a12180a478ca27d49f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Horia=20Geant=C4=83?= +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ă + +Upstream-Status: Backport + +Signed-off-by: He Zhe +--- + 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 + -- cgit 1.2.3-korg