forked from pool/virtualbox
badf2901f4
This is a maintenance release. The following items were fixed and/or added: GUI: the USB filter settings dialog should allow to specify the USB revision in hexadecimal format (bug #15400) GUI: fixed crash on certain hosts when pressing certain key combinations (Windows hosts only; bug #15719) GUI: fixed issue with updating the available-geometry on host-screen work-area resize GUI: don't crash / hang on certain environments if accessibility support is enabled GUI: fixed various issues in Unscaled HiDPI Output mode (bug #15707) GUI: extend the VM Input menu with Print Screen-related actions GUI: improved handling of inserting the Guest Additions ISO image by trying all available optical drives rather than only the first one and by not asking the user if he wants to force unmounting (which doesn't work in most cases anyway) API: default to RTC using UTC for Solaris 11 guests Settings: be less restrictive when reading a VM configuration containing a host-only adapter without an interface name Storage: fixed resizing VDI images resulting in an unbootable image under certain circumstances (bug #15983) NAT: fixed several 5.1.8 regressions on Mac OS X and Windows hosts (bug #16084) Audio: fixed a few 5.1.x regressions by using the audio code from 5.0.x until the audio overhaul is completed VBoxManage: fixed documentation of the storagectl command (bug #15971) Build system: another fix for building VirtualBox on systems which default to Python 3 Windows hosts: hardening fix for Windows 10 build 14971 (bug #16202) Windows Additions: properly start the VirtualBox guest services even if the guest user name contains special characters (bug #15982) Solaris Additions: fixed preemptible mouse notification callback being executed under a spinlock for Solaris guests Linux hosts / guests: Linux 4.9 fixes (bugs #16155 and #16064) Linux Additions: fixed Linux kernel module override rule (thanks Mark Furneaux) OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=293
71 lines
3.6 KiB
Diff
71 lines
3.6 KiB
Diff
Index: VirtualBox-5.1.10/src/VBox/Additions/linux/sharedfolders/dirops.c
|
|
===================================================================
|
|
--- VirtualBox-5.1.10.orig/src/VBox/Additions/linux/sharedfolders/dirops.c
|
|
+++ VirtualBox-5.1.10/src/VBox/Additions/linux/sharedfolders/dirops.c
|
|
@@ -748,12 +748,18 @@ static int sf_rmdir(struct inode *parent
|
|
* @param flags flags
|
|
* @returns 0 on success, Linux error code otherwise
|
|
*/
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
|
|
static int sf_rename(struct inode *old_parent, struct dentry *old_dentry,
|
|
struct inode *new_parent, struct dentry *new_dentry
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
|
|
, unsigned flags
|
|
#endif
|
|
)
|
|
+#else
|
|
+static int sf_rename(struct inode *old_parent, struct dentry *old_dentry,
|
|
+ struct inode *new_parent, struct dentry *new_dentry,
|
|
+ unsigned int flags)
|
|
+#endif
|
|
{
|
|
int err = 0, rc = VINF_SUCCESS;
|
|
struct sf_glob_info *sf_g = GET_GLOB_INFO(old_parent->i_sb);
|
|
Index: VirtualBox-5.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
===================================================================
|
|
--- VirtualBox-5.1.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
+++ VirtualBox-5.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
@@ -221,7 +221,8 @@ static int vbox_bo_move(struct ttm_buffe
|
|
struct ttm_mem_reg *new_mem)
|
|
{
|
|
int r;
|
|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) || \
|
|
+ LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
|
|
r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem);
|
|
#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
|
|
r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
|
|
Index: VirtualBox-5.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
===================================================================
|
|
--- VirtualBox-5.1.10.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
+++ VirtualBox-5.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
@@ -1045,7 +1045,27 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
|
|
/*
|
|
* Get user pages.
|
|
*/
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
|
|
+ if (R0Process == RTR0ProcHandleSelf())
|
|
+ rc = get_user_pages(R3Ptr, /* Where from. */
|
|
+ cPages, /* How many pages. */
|
|
+ fWrite, /* Write to memory. */
|
|
+ &pMemLnx->apPages[0], /* Page array. */
|
|
+ papVMAs); /* vmas */
|
|
+ /*
|
|
+ * Actually this should not happen at the moment as call this function
|
|
+ * only for our own process.
|
|
+ */
|
|
+ else
|
|
+ rc = get_user_pages_remote(
|
|
+ pTask, /* Task for fault accounting. */
|
|
+ pTask->mm, /* Whose pages. */
|
|
+ R3Ptr, /* Where from. */
|
|
+ cPages, /* How many pages. */
|
|
+ fWrite, /* Write to memory. */
|
|
+ &pMemLnx->apPages[0], /* Page array. */
|
|
+ papVMAs); /* vmas */
|
|
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
|
|
if (R0Process == RTR0ProcHandleSelf())
|
|
rc = get_user_pages(R3Ptr, /* Where from. */
|
|
cPages, /* How many pages. */
|