]> code.ossystems Code Review - openembedded-core.git/commitdiff
cryptodev-module: Backport a patch to fix build failure with kernel v5.8
authorHe Zhe <zhe.he@windriver.com>
Fri, 26 Mar 2021 06:58:38 +0000 (14:58 +0800)
committerSteve Sakoman <steve@sakoman.com>
Wed, 31 Mar 2021 15:08:47 +0000 (05:08 -1000)
Fix the following build failure with linux-yocto-dev

zc.c:61:17: error: 'struct mm_struct' has no member named 'mmap_sem';
did you mean 'mmap_base'?
   61 |  down_read(&mm->mmap_sem);
      |                 ^~~~~~~~
      |                 mmap_base
zc.c:77:15: error: 'struct mm_struct' has no member named 'mmap_sem';
did you mean 'mmap_base'?
   77 |  up_read(&mm->mmap_sem);
      |               ^~~~~~~~
      |               mmap_base

(From OE-Core rev: fe668065ad7ec83aadfa36fe6ba1ced3db2e3cad)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-kernel/cryptodev/cryptodev-module_1.10.bb
meta/recipes-kernel/cryptodev/files/0001-Fix-build-for-Linux-5.8-rc1.patch [new file with mode: 0644]

index 552eb6abaae52dcd4508708ecf3d0db61a46a12c..6474599c45f457ff2e9c4d092c26187be025d170 100644 (file)
@@ -9,6 +9,7 @@ DEPENDS += "cryptodev-linux"
 
 SRC_URI += " \
 file://0001-Disable-installing-header-file-provided-by-another-p.patch \
+file://0001-Fix-build-for-Linux-5.8-rc1.patch \
 "
 
 EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
diff --git a/meta/recipes-kernel/cryptodev/files/0001-Fix-build-for-Linux-5.8-rc1.patch b/meta/recipes-kernel/cryptodev/files/0001-Fix-build-for-Linux-5.8-rc1.patch
new file mode 100644 (file)
index 0000000..02c721a
--- /dev/null
@@ -0,0 +1,49 @@
+From 9e765068582aae3696520346a7500322ca6cc2de Mon Sep 17 00:00:00 2001
+From: Joan Bruguera <joanbrugueram@gmail.com>
+Date: Sat, 13 Jun 2020 19:46:44 +0200
+Subject: [PATCH] Fix build for Linux 5.8-rc1
+
+See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9740ca4e95b43b91a4a848694a20d01ba6818f7b
+          https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=da1c55f1b272f4bd54671d459b39ea7b54944ef9
+          https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d8ed45c5dcd455fc5848d47f86883a1b872ac0d0
+
+Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
+
+Upstream-Status: Backport [9e765068582aae3696520346a7500322ca6cc2de]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ zc.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/zc.c b/zc.c
+index ae464ff..2c286bb 100644
+--- a/zc.c
++++ b/zc.c
+@@ -58,7 +58,11 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+               return 0;
+       }
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
+       down_read(&mm->mmap_sem);
++#else
++      mmap_read_lock(mm);
++#endif
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0))
+       ret = get_user_pages(task, mm,
+                       (unsigned long)addr, pgcount, write, 0, pg, NULL);
+@@ -74,7 +78,11 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+                       (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+                       pg, NULL, NULL);
+ #endif
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
+       up_read(&mm->mmap_sem);
++#else
++      mmap_read_unlock(mm);
++#endif
+       if (ret != pgcount)
+               return -EINVAL;
+-- 
+2.17.1
+