Index: trunk/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 100652)
+++ trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 100653)
@@ -173,5 +173,5 @@
 #endif
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # include <drm/ttm/ttm_bo.h>
 #else
@@ -250,5 +250,5 @@
  * now represents number of bytes. This macro handles this change. Input
  * argument is a pointer to struct ttm_resource. */
-#if RTLNX_VER_MIN(6,2,0)
+#if RTLNX_VER_MIN(6,2,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # define VBOX_BO_RESOURCE_NUM_PAGES(_resource) PFN_UP(_resource->size)
 #else
Index: trunk/src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_fb.c	(revision 100652)
+++ trunk/src/VBox/Additions/linux/drm/vbox_fb.c	(revision 100653)
@@ -51,5 +51,5 @@
 #include <VBoxVideo.h>
 
-#if RTLNX_VER_MIN(6,2,0)
+#if RTLNX_VER_MIN(6,2,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # define VBOX_FBDEV_INFO(_helper) _helper.info
 #else
@@ -326,5 +326,5 @@
 	}
 
-#if RTLNX_VER_MIN(6,2,0)
+#if RTLNX_VER_MIN(6,2,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	info = drm_fb_helper_alloc_info(helper);
 #else
@@ -350,5 +350,5 @@
 	info->fbops = &vboxfb_ops;
 
-#if RTLNX_VER_MAX(6,3,0)
+#if RTLNX_VER_MAX(6,3,0) && !RTLNX_RHEL_MAJ_PREREQ(9,3)
 	/*
 	 * This seems to be done for safety checking that the framebuffer
@@ -379,5 +379,5 @@
 
 #ifdef CONFIG_FB_DEFERRED_IO
-# if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(8,8, 8,99)
+# if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	info->fix.smem_len = info->screen_size;
 # endif
@@ -416,5 +416,5 @@
 #endif
 
-#if RTLNX_VER_MIN(6,2,0)
+#if RTLNX_VER_MIN(6,2,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	drm_fb_helper_unregister_info(&fbdev->helper);
 #else
@@ -464,5 +464,5 @@
 	spin_lock_init(&fbdev->dirty_lock);
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	drm_fb_helper_prepare(dev, &fbdev->helper, 32, &vbox_fb_helper_funcs);
 #elif RTLNX_VER_MIN(3,17,0) || RTLNX_RHEL_MIN(7,2)
@@ -493,5 +493,5 @@
 	drm_helper_disable_unused_functions(dev);
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	ret = drm_fb_helper_initial_config(&fbdev->helper);
 #else
@@ -512,5 +512,5 @@
 	struct fb_info *fbdev = VBOX_FBDEV_INFO(vbox->fbdev->helper);
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
     fbdev->fix.smem_start =
 pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->fbdev->helper.dev), 0) + gpu_addr;
Index: trunk/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 100652)
+++ trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 100653)
@@ -37,5 +37,5 @@
 #include <drm/drm_crtc_helper.h>
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # include <drm/drm_modeset_helper.h>
 #endif
Index: trunk/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 100652)
+++ trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 100653)
@@ -40,5 +40,5 @@
 #include <linux/export.h>
 #include <drm/drm_crtc_helper.h>
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # include <drm/drm_modeset_helper_vtables.h>
 # include <drm/drm_modeset_helper.h>
@@ -317,4 +317,5 @@
 		return rc;
 
+	mutex_lock(&vbox->hw_mutex);
 	vbox_do_modeset(crtc, &crtc->mode);
 	mutex_unlock(&vbox->hw_mutex);
Index: trunk/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 100652)
+++ trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 100653)
@@ -35,5 +35,5 @@
 #include "vbox_drv.h"
 
-#if RTLNX_VER_MIN(6,3,0)
+#if RTLNX_VER_MIN(6,3,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 # include <drm/ttm/ttm_tt.h>
 #endif
@@ -629,5 +629,5 @@
 #endif
 
-#if RTLNX_VER_MIN(6,1,0)
+#if RTLNX_VER_MIN(6,1,0) || RTLNX_RHEL_MAJ_PREREQ(9,3)
 	ret = ttm_bo_init_validate(&vbox->ttm.bdev, &vboxbo->bo,
 #else
