blob: 02c721a4f38c95d1e984a33e8b6b736f9e54be5b [file] [log] [blame]
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