forked from pool/virtualbox
- Removed "vbox_fix_4.9_api_changes.patch" as changes are upstream.
Fixed API changes for kernel 4.10 in "vbox_fix_4.10_api_changes.patch". OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=306
This commit is contained in:
parent
798ba7e584
commit
6ae60f24fd
@ -1,67 +1,37 @@
|
|||||||
Index: VirtualBox-5.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
||||||
|
Index: VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-5.1.12.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
--- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
+++ VirtualBox-5.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
+++ VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
@@ -1078,7 +1078,12 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
|
@@ -88,6 +88,31 @@ static const char *sf_get_link(struct de
|
||||||
fWrite, /* force write access. */
|
}
|
||||||
# endif
|
# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0) */
|
||||||
&pMemLnx->apPages[0], /* Page array. */
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
|
||||||
+ papVMAs, /* vmas */
|
|
||||||
+ NULL);
|
|
||||||
+#else
|
|
||||||
papVMAs); /* vmas */
|
|
||||||
+#endif
|
|
||||||
#else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
|
|
||||||
rc = get_user_pages(pTask, /* Task for fault accounting. */
|
|
||||||
pTask->mm, /* Whose pages. */
|
|
||||||
@@ -1093,7 +1098,12 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
|
|
||||||
fWrite, /* force write access. */
|
|
||||||
# endif
|
|
||||||
&pMemLnx->apPages[0], /* Page array. */
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
|
||||||
+ papVMAs, /* vmas */
|
|
||||||
+ NULL);
|
|
||||||
+#else
|
|
||||||
papVMAs); /* vmas */
|
|
||||||
+#endif
|
|
||||||
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
|
|
||||||
if (rc == cPages)
|
|
||||||
{
|
|
||||||
Index: VirtualBox-5.1.12/src/VBox/Runtime/r0drv/linux/mpnotification-r0drv-linux.c
|
|
||||||
===================================================================
|
|
||||||
--- VirtualBox-5.1.12.orig/src/VBox/Runtime/r0drv/linux/mpnotification-r0drv-linux.c
|
|
||||||
+++ VirtualBox-5.1.12/src/VBox/Runtime/r0drv/linux/mpnotification-r0drv-linux.c
|
|
||||||
@@ -39,8 +39,32 @@
|
|
||||||
|
|
||||||
|
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
||||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 71) && defined(CONFIG_SMP)
|
+/*
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
+ * A helper for ->readlink(). This should be used *ONLY* for symlinks that
|
||||||
+/* This hack allows VB to build under kernel 4.10 and later, but it
|
+ * have ->get_link() not calling nd_jump_link(). Using (or not using) it
|
||||||
+ * should be replaced with a version that uses the hotplug state machine
|
+ * for any given inode is up to filesystem.
|
||||||
+ */
|
+ */
|
||||||
|
+static int generic_readlink(struct dentry *dentry, char __user *buffer,
|
||||||
+static DEFINE_MUTEX(cpu_add_remove_lock);
|
+ int buflen)
|
||||||
+static RAW_NOTIFIER_HEAD(cpu_chain);
|
|
||||||
|
|
||||||
+/* Need to know about CPUs going up/down? */
|
|
||||||
+static int register_cpu_notifier(struct notifier_block *nb)
|
|
||||||
+{
|
+{
|
||||||
+ int ret;
|
+ DEFINE_DELAYED_CALL(done);
|
||||||
+ mutex_lock(&cpu_add_remove_lock);
|
+ struct inode *inode = d_inode(dentry);
|
||||||
+ ret = raw_notifier_chain_register(&cpu_chain, nb);
|
+ const char *link = inode->i_link;
|
||||||
+ mutex_unlock(&cpu_add_remove_lock);
|
+ int res;
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
+
|
||||||
+/* Need to know about CPUs going up/down? */
|
+ if (!link) {
|
||||||
+static void unregister_cpu_notifier(struct notifier_block *nb)
|
+ link = inode->i_op->get_link(dentry, inode, &done);
|
||||||
+{
|
+ if (IS_ERR(link))
|
||||||
+ mutex_lock(&cpu_add_remove_lock);
|
+ return PTR_ERR(link);
|
||||||
+ raw_notifier_chain_unregister(&cpu_chain, nb);
|
+ }
|
||||||
+ mutex_unlock(&cpu_add_remove_lock);
|
+ res = readlink_copy(buffer, buflen, link);
|
||||||
|
+ do_delayed_call(&done);
|
||||||
|
+ return res;
|
||||||
+}
|
+}
|
||||||
+#endif
|
+#endif
|
||||||
/*********************************************************************************************************************************
|
+
|
||||||
* Internal Functions *
|
struct inode_operations sf_lnk_iops =
|
||||||
*********************************************************************************************************************************/
|
{
|
||||||
|
.readlink = generic_readlink,
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
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. */
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 28 20:37:54 UTC 2017 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
- Removed "vbox_fix_4.9_api_changes.patch" as changes are upstream.
|
||||||
|
Fixed API changes for kernel 4.10 in "vbox_fix_4.10_api_changes.patch".
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jan 25 02:52:51 UTC 2017 - Larry.Finger@lwfinger.net
|
Wed Jan 25 02:52:51 UTC 2017 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
@ -89,11 +89,11 @@ Patch111: vbox_prevent_wrong_SONAME.patch
|
|||||||
Patch112: modify_for_4_8_bo_move.patch
|
Patch112: modify_for_4_8_bo_move.patch
|
||||||
# Remove all mention of _smp_mflags
|
# Remove all mention of _smp_mflags
|
||||||
Patch113: vbox_remove_smp_mflags.patch
|
Patch113: vbox_remove_smp_mflags.patch
|
||||||
# Fix build error on kernel 4.9
|
|
||||||
Patch114: vbox_fix_4.9_api_changes.patch
|
|
||||||
# Fix for missing include needed for server 1.19
|
# Fix for missing include needed for server 1.19
|
||||||
Patch116: Fix_for_server_1.19.patch
|
Patch116: Fix_for_server_1.19.patch
|
||||||
#
|
#
|
||||||
|
Patch117: vbox_fix_4.10_api_changes.patch
|
||||||
|
#
|
||||||
BuildRequires: LibVNCServer-devel
|
BuildRequires: LibVNCServer-devel
|
||||||
BuildRequires: SDL-devel
|
BuildRequires: SDL-devel
|
||||||
BuildRequires: acpica
|
BuildRequires: acpica
|
||||||
@ -328,8 +328,8 @@ This package contains icons for guest desktop files that were created on the des
|
|||||||
%patch111 -p1
|
%patch111 -p1
|
||||||
%patch112 -p1
|
%patch112 -p1
|
||||||
%patch113 -p1
|
%patch113 -p1
|
||||||
%patch114 -p1
|
|
||||||
%patch116 -p1
|
%patch116 -p1
|
||||||
|
%patch117 -p1
|
||||||
|
|
||||||
#copy user manual
|
#copy user manual
|
||||||
cp %{SOURCE1} UserManual.pdf
|
cp %{SOURCE1} UserManual.pdf
|
||||||
|
Loading…
Reference in New Issue
Block a user