Index: VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semmutex-r0drv-linux.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Runtime/r0drv/linux/semmutex-r0drv-linux.c +++ VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semmutex-r0drv-linux.c @@ -40,8 +40,9 @@ #include #include "internal/magics.h" - - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#endif /********************************************************************************************************************************* * Structures and Typedefs * *********************************************************************************************************************************/ @@ -206,7 +207,7 @@ static int rtSemMutexLinuxRequestSleep(P break; /* Go to sleep. */ - set_task_state(pSelf, fInterruptible ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); + set_current_state(fInterruptible ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); spin_unlock_irq(&pThis->Spinlock); lTimeout = schedule_timeout(lTimeout); Index: VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c +++ VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c @@ -32,6 +32,9 @@ #include "the-linux-kernel.h" #include "internal/iprt.h" #include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#endif #include #include Index: VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c +++ VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c @@ -35,6 +35,10 @@ #include #include #include "internal/thread.h" +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#include +#endif RTDECL(RTTHREAD) RTThreadSelf(void) Index: VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c +++ VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c @@ -38,11 +38,13 @@ #include #include #include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#endif #include "waitqueue-r0drv-linux.h" #include "internal/magics.h" - /********************************************************************************************************************************* * Structures and Typedefs * *********************************************************************************************************************************/ Index: VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/utils.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/sharedfolders/utils.c +++ VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/utils.c @@ -290,8 +290,15 @@ sf_dentry_revalidate(struct dentry *dent has inode at all) from these new attributes we derive [kstat] via [generic_fillattr] */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +int sf_getattr(const struct path *path, struct kstat *kstat, + u32 request_mask, unsigned int flags) +{ + struct dentry *dentry = path->dentry; +#else int sf_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *kstat) { +#endif int err; TRACE(); Index: VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/vfsmod.h =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.h +++ VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/vfsmod.h @@ -100,8 +100,13 @@ extern int sf_stat(const char *caller, SHFLSTRING *path, PSHFLFSOBJINFO result, int ok_to_fail); extern int sf_inode_revalidate(struct dentry *dentry); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) -extern int sf_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *kstat); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +extern int sf_getattr(const struct path *path, struct kstat *kstat, + u32 request_mask, unsigned int flags); +#else +extern int sf_getattr(struct vfsmount *mnt, struct dentry *dentry, + struct kstat *kstat); +#endif extern int sf_setattr(struct dentry *dentry, struct iattr *iattr); #endif extern int sf_path_from_dentry(const char *caller, struct sf_glob_info *sf_g, Index: VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/regops.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/sharedfolders/regops.c +++ VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/regops.c @@ -445,7 +445,11 @@ static int sf_reg_release(struct inode * } #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 25) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +static int sf_reg_fault(struct vm_fault *vmf) +#else static int sf_reg_fault(struct vm_area_struct *vma, struct vm_fault *vmf) +#endif #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) static struct page *sf_reg_nopage(struct vm_area_struct *vma, unsigned long vaddr, int *type) # define SET_TYPE(t) *type = (t) @@ -459,6 +463,9 @@ static struct page *sf_reg_nopage(struct loff_t off; uint32_t nread = PAGE_SIZE; int err; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) + struct vm_area_struct *vma = vmf->vma; +#endif struct file *file = vma->vm_file; struct inode *inode = GET_F_DENTRY(file)->d_inode; struct sf_glob_info *sf_g = GET_GLOB_INFO(inode->i_sb); Index: VirtualBox-5.1.14/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/drm/vbox_drv.c +++ VirtualBox-5.1.14/src/VBox/Additions/linux/drm/vbox_drv.c @@ -45,6 +45,11 @@ /* * Authors: Dave Airlie */ +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#include +#endif #include "vbox_drv.h" #include @@ -57,7 +62,6 @@ #include #include - int vbox_modeset = -1; MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); Index: VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +++ VirtualBox-5.1.14/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h @@ -31,8 +31,11 @@ * Include iprt/types.h to install the bool wrappers. * Then use the linux bool type for all the stuff include here. */ +#include #include +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) #define bool linux_bool +#endif #if RT_GNUC_PREREQ(4, 6) # pragma GCC diagnostic push @@ -44,7 +47,6 @@ # endif #endif -#include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33) # include #else Index: VirtualBox-5.1.14/src/VBox/Additions/linux/drm/vbox_fb.c =================================================================== --- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/drm/vbox_fb.c +++ VirtualBox-5.1.14/src/VBox/Additions/linux/drm/vbox_fb.c @@ -46,6 +46,11 @@ * Authors: Dave Airlie */ /* Include from most specific to most general to be able to override things. */ +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +#include +#include +#endif #include "vbox_drv.h" #include #include