From 0fce37845b3ac9303baed27a0a58b76d059d944f Mon Sep 17 00:00:00 2001 From: Joss Bird Date: Wed, 2 Aug 2023 13:36:05 +0100 Subject: [PATCH] Add checks for RHEL8.8 --- memflow-kmod/mmap_lock.h | 10 +++++++++- memflow-kmod/vmtools.c | 8 ++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/memflow-kmod/mmap_lock.h b/memflow-kmod/mmap_lock.h index f5e6ef0..d98db27 100644 --- a/memflow-kmod/mmap_lock.h +++ b/memflow-kmod/mmap_lock.h @@ -5,7 +5,15 @@ #include -#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0) +#ifndef RHEL_RELEASE_CODE +#define RHEL_RELEASE_CODE 0 +#endif + +#ifndef RHEL_RELEASE_VERSION +#define RHEL_RELEASE_VERSION(a,b) 1 +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0) && RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8,8) static inline void mmap_write_lock(struct mm_struct *mm) { down_write(&mm->mmap_sem); diff --git a/memflow-kmod/vmtools.c b/memflow-kmod/vmtools.c index 567d192..706363c 100644 --- a/memflow-kmod/vmtools.c +++ b/memflow-kmod/vmtools.c @@ -11,7 +11,7 @@ #include #include "mmap_lock.h" -#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) && RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8,8) #define kvm_for_each_memslot2(memslot, bkt, slots) (void)bkt; kvm_for_each_memslot(memslot, slots) #else #define kvm_for_each_memslot2 kvm_for_each_memslot @@ -203,11 +203,11 @@ struct vm_mem_data { #define PAGE_GET_FLAG 0 #endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0) -#define RELEASE_PAGE put_page -#else +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,7,0) && RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8,8) #define PAGE_GET_FLAG 0 #define RELEASE_PAGE put_user_page +#else +#define RELEASE_PAGE put_page #endif static int memflow_vm_mem_release(struct inode *inode, struct file *file)