forked from jengelh/virtualbox
Removed "vbox_fix_4.11_api_changes.patch" - fixed upstream - Version bump to 5.1.16 (released 2017-03-08 by Oracle) This is a maintenance release. The following items were fixed and/or added: VMM: don't access the MSR_IA32_SMM_MONITOR_CTL MSR if dual-monitor treatment is not available (KVM workaround, bug #14965) VMM: another fix for handling certain MSRs on ancient CPUs without VT-x support for MSR bitmaps VMM: fixed VERR_SSM_LOAD_CPUID_MISMATCH errors when restoring a saved state with SMP guests on hosts without the CPUID/HTT bit set (bug #16428) VMM: fixed a bug in call gate emulation VMM: FWAIT instruction fix VMM: fixed a sporadic guest hang under certain conditions GUI: hide the mini-toolbar from the taskbar and the pager on certain X11 hosts GUI: better error handling on the global settings / network / host-only / DHCP server settings GUI: fixes for full-screen with multiple screens Host-only Network: fixed host-only adapter creation issue preventing VirtualBox installation on Windows 10 hosts (bug #16379) NAT network: fixed two potential crashes in the DHCP server ICH9: fixed incorrect initialization of the primary bus for PCI bridges (5.1.14 regression) Storage: LsiLogic fix for Windows 10 USB: fixed not being able to attach certain USB devices having invalid characters in the device strings (5.0.18 regression; bug #15956) USB: several fixes for the USB/IP support (bug #16462) VBoxSVC: fixed another crash during shutdown under rare circumstances VBoxSVC: fixed a stack overflow on (Windows debug builds only; bug #16409) OVF: when importing an appliance handle more than 10 network adapters if the OVA was created by VirtualBox (bug #16401) OVF: fixes for exporting and importing appliances with many disks (bug #16402) VBoxManage: fixed regression with modifyhd --resize (bug #16311) rdesktop-vrdp: source code tarball fixes Linux Installers: do not rebuild kernel modules unnecessarily (bug #16408) Linux hosts: added an action for opening the VM manager window to the .desktop file Linux hosts / guests: Linux 4.11 compile fixes (bug #16506) Linux Additions: added vboxsf FS modules alias (bug #16404) Linux Additions: fix for the shared folders kernel module to compile on Linux 4.10 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=317
204 lines
8.3 KiB
Diff
204 lines
8.3 KiB
Diff
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 <iprt/list.h>
|
|
|
|
#include "internal/magics.h"
|
|
-
|
|
-
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <linux/sched/signal.h>
|
|
+#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 <iprt/semaphore.h>
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <linux/sched/signal.h>
|
|
+#endif
|
|
|
|
#include <iprt/assert.h>
|
|
#include <iprt/asm.h>
|
|
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 <iprt/thread.h>
|
|
#include <iprt/err.h>
|
|
#include "internal/thread.h"
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <linux/sched/types.h>
|
|
+#include <linux/sched/signal.h>
|
|
+#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 <iprt/err.h>
|
|
#include <iprt/lockvalidator.h>
|
|
#include <iprt/mem.h>
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <linux/sched/signal.h>
|
|
+#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 <airlied@redhat.com>
|
|
*/
|
|
+#include <linux/version.h>
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <drm/drm_encoder.h>
|
|
+#include <drm/drm_drv.h>
|
|
+#endif
|
|
#include "vbox_drv.h"
|
|
|
|
#include <VBox/VBoxGuest.h>
|
|
@@ -57,7 +62,6 @@
|
|
|
|
#include <drm/drmP.h>
|
|
#include <drm/drm_crtc_helper.h>
|
|
-
|
|
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 <linux/version.h>
|
|
#include <iprt/types.h>
|
|
+#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 <linux/version.h>
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33)
|
|
# include <generated/autoconf.h>
|
|
#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 <airlied@redhat.com>
|
|
*/
|
|
/* Include from most specific to most general to be able to override things. */
|
|
+#include <linux/version.h>
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
|
+#include <drm/drm_encoder.h>
|
|
+#include <drm/drm_drv.h>
|
|
+#endif
|
|
#include "vbox_drv.h"
|
|
#include <VBox/VBoxVideo.h>
|
|
#include <VBox/VMMDev.h>
|