Index: /trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module
===================================================================
--- /trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module	(revision 78134)
+++ /trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module	(revision 78135)
@@ -64,4 +64,7 @@
 VBOXMOD_DEFS += VBOX_WITH_64_BITS_GUESTS
 endif
+ifneq ($(filter %uek.x86_64,$(KERN_VER)),)
+VBOXMOD_DEFS += VBOX_UEK
+endif
 VBOXMOD_CFLAGS := $(call VBOX_GCC_CHECK_CC,-Wno-declaration-after-statement,-Wno-declaration-after-statement,,)
 VBOXMOD_CFLAGS += $(call VBOX_GCC_CHECK_CC,-fno-pie,-fno-pie,,)
Index: /trunk/src/VBox/Additions/linux/sharedfolders/dirops.c
===================================================================
--- /trunk/src/VBox/Additions/linux/sharedfolders/dirops.c	(revision 78134)
+++ /trunk/src/VBox/Additions/linux/sharedfolders/dirops.c	(revision 78135)
@@ -1369,5 +1369,5 @@
 struct inode_operations vbsf_dir_iops = {
     .lookup         = vbsf_inode_lookup,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
     .atomic_open    = vbsf_inode_atomic_open,
 #endif
Index: /trunk/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- /trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 78134)
+++ /trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 78135)
@@ -1416,4 +1416,7 @@
 # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
     ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 168) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
+    ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, papPages,
+                                                   fWrite ? FOLL_WRITE | FOLL_FORCE : FOLL_FORCE);
 # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
     ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
@@ -3698,4 +3701,9 @@
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 10)
+
+# ifdef VBOX_UEK
+#  undef iov_iter /* HACK ALERT! Don't put anything needing vbsf_iov_iter after this fun! */
+# endif
+
 /**
  * This is needed to make open accept O_DIRECT as well as dealing with direct
@@ -3706,5 +3714,5 @@
 # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0)
 static ssize_t vbsf_direct_IO(struct kiocb *iocb, struct iov_iter *iter, loff_t offset)
-# elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(VBOX_UEK)
 static ssize_t vbsf_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t offset)
 # elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 6)
@@ -3727,4 +3735,5 @@
     return -EINVAL;
 }
+
 #endif
 
Index: /trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h
===================================================================
--- /trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h	(revision 78134)
+++ /trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h	(revision 78135)
@@ -99,5 +99,6 @@
 #endif /* < 2.6.0 */
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+#if  LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) \
+  && (!defined(RHEL_MAJOR) || RHEL_MAJOR != 6)
 DECLINLINE(void) set_nlink(struct inode *pInode, unsigned int cLinks)
 {
