From: Philippe Gerum <r...@xenomai.org>

Signed-off-by: Philippe Gerum <r...@xenomai.org>
---
 kernel/cobalt/debug.c                                | 4 ++--
 kernel/cobalt/include/asm-generic/xenomai/wrappers.h | 7 +++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/kernel/cobalt/debug.c b/kernel/cobalt/debug.c
index 1e9edda99..f97144aeb 100644
--- a/kernel/cobalt/debug.c
+++ b/kernel/cobalt/debug.c
@@ -239,7 +239,7 @@ void xndebug_trace_relax(int nr, unsigned long *backtrace,
 
        memset(&spot, 0, sizeof(spot));
        mm = get_task_mm(current);
-       down_read(&mm->mmap_sem);
+       mmap_read_lock(mm);
 
        for (n = 0, depth = 0; n < nr; n++) {
                pc = backtrace[n];
@@ -278,7 +278,7 @@ void xndebug_trace_relax(int nr, unsigned long *backtrace,
                depth++;
        }
 
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
        mmput(mm);
        free_page((unsigned long)tmp);
 
diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h 
b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
index ac4e95aa0..cd22a8db5 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
@@ -176,6 +176,13 @@ devm_hwmon_device_register_with_groups(struct device *dev, 
const char *name,
 #define old_timeval32     compat_timeval
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)
+#define mmap_read_lock(__mm)   down_read(&mm->mmap_sem)
+#define mmap_read_unlock(__mm) up_read(&mm->mmap_sem)
+#define mmap_write_lock(__mm)  down_write(&mm->mmap_sem)
+#define mmap_write_unlock(__mm)        up_write(&mm->mmap_sem)
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)
 #define vmalloc_kernel(__size, __flags)        __vmalloc(__size, 
GFP_KERNEL|__flags, PAGE_KERNEL)
 #else
-- 
2.29.2


Reply via email to