Index: /trunk/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 80712)
@@ -42,5 +42,5 @@
 #include "vbox_drv.h"
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) || defined(RHEL_81)
 #include <drm/drm_probe_helper.h>
 #endif
@@ -308,5 +308,5 @@
 	.driver_features =
 	    DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ |
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) && !defined(RHEL_81)
 	    DRIVER_IRQ_SHARED |
 #endif
Index: /trunk/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 80712)
@@ -51,4 +51,13 @@
 
 #if defined(RHEL_MAJOR) && defined(RHEL_MINOR)
+# if RHEL_MAJOR == 8 && RHEL_MINOR >= 1
+#  define RHEL_81
+# endif
+# if RHEL_MAJOR == 8 && RHEL_MINOR >= 0
+#  define RHEL_80
+# endif
+# if RHEL_MAJOR == 7 && RHEL_MINOR >= 7
+#  define RHEL_77
+# endif
 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 6
 #  define RHEL_76
@@ -188,5 +197,5 @@
 
 	struct {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 		struct drm_global_reference mem_global_ref;
 		struct ttm_bo_global_ref bo_global_ref;
Index: /trunk/src/VBox/Additions/linux/drm/vbox_irq.c
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_irq.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_irq.c	(revision 80712)
@@ -36,4 +36,7 @@
 #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
 #include <drm/drm_crtc_helper.h>
+# if defined(RHEL_81)
+#  include <drm/drm_probe_helper.h>
+# endif
 #else
 #include <drm/drm_probe_helper.h>
Index: /trunk/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 80712)
@@ -606,5 +606,5 @@
 #endif
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(OPENSUSE_151)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(OPENSUSE_151) && !defined(RHEL_77) && !defined(RHEL_81)
 static void ttm_bo_put(struct ttm_buffer_object *bo)
 {
Index: /trunk/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 80712)
@@ -43,5 +43,5 @@
 #include <drm/drm_plane_helper.h>
 #endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) || defined(RHEL_81)
 #include <drm/drm_probe_helper.h>
 #endif
@@ -541,5 +541,5 @@
 		sum += edid[i];
 	edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
 	drm_connector_update_edid_property(connector, (struct edid *)edid);
 #else
@@ -716,5 +716,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
 	drm_connector_attach_encoder(connector, encoder);
 #else
Index: /trunk/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- /trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 80712)
@@ -47,5 +47,5 @@
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 static int vbox_ttm_mem_global_init(struct drm_global_reference *ref)
 {
@@ -298,5 +298,5 @@
 	struct ttm_bo_device *bdev = &vbox->ttm.bdev;
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 	ret = vbox_ttm_global_init(vbox);
 	if (ret)
@@ -304,5 +304,5 @@
 #endif
 	ret = ttm_bo_device_init(&vbox->ttm.bdev,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 				 vbox->ttm.bo_global_ref.ref.object,
 #endif
@@ -318,5 +318,5 @@
 	if (ret) {
 		DRM_ERROR("Error initialising bo driver; %d\n", ret);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 		goto err_ttm_global_release;
 #else
@@ -344,5 +344,5 @@
 err_device_release:
 	ttm_bo_device_release(&vbox->ttm.bdev);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 err_ttm_global_release:
 	vbox_ttm_global_release(vbox);
@@ -361,5 +361,5 @@
 #endif
 	ttm_bo_device_release(&vbox->ttm.bdev);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81)
 	vbox_ttm_global_release(vbox);
 #endif
Index: /trunk/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- /trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 80711)
+++ /trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 80712)
@@ -80,4 +80,9 @@
 #endif
 
+#ifdef RHEL_RELEASE_CODE
+# if RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8, 1)
+#  define RHEL_81
+# endif
+#endif
 
 /*********************************************************************************************************************************
@@ -1409,5 +1414,5 @@
      * Check that this is valid user memory that is actually in the kernel range.
      */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) || defined(RHEL_81)
     if (   access_ok((void *)uPtrFrom, cPages << PAGE_SHIFT)
         && uPtrFrom >= USER_DS.seg)
Index: /trunk/src/VBox/Runtime/r0drv/linux/memuserkernel-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/memuserkernel-r0drv-linux.c	(revision 80711)
+++ /trunk/src/VBox/Runtime/r0drv/linux/memuserkernel-r0drv-linux.c	(revision 80712)
@@ -35,4 +35,9 @@
 #include <iprt/errcore.h>
 
+#ifdef RHEL_RELEASE_CODE
+# if RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8, 1)
+#  define RHEL_81
+# endif
+#endif
 
 RTR0DECL(int) RTR0MemUserCopyFrom(void *pvDst, RTR3PTR R3PtrSrc, size_t cb)
@@ -67,5 +72,5 @@
 {
     IPRT_LINUX_SAVE_EFL_AC();
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) || defined(RHEL_81)
     bool fRc = access_ok((void *)R3Ptr, 1);
 #else
@@ -87,5 +92,5 @@
 #else
 # error "PORT ME"
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) || defined(RHEL_81)
     return !access_ok(pv, 1);
 #else
