forked from pool/virtualbox
Accepting request 453202 from Virtualization
Fix build problems with kernel 4.10 OBS-URL: https://build.opensuse.org/request/show/453202 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=127
This commit is contained in:
commit
35ab6572e4
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:212ff0b27e892df670be694627a0ad968f3abbebcfa770bebc33cc976a76a9e5
|
|
||||||
size 80300379
|
|
3
VirtualBox-5.1.14-patched.tar.bz2
Normal file
3
VirtualBox-5.1.14-patched.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:68f9019043e4ae409b357fc65c67dcc41b3afdfc09de4442b988f4d8dfb6e544
|
||||||
|
size 80296668
|
37
vbox_fix_4.10_api_changes.patch
Normal file
37
vbox_fix_4.10_api_changes.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
Index: VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
|
===================================================================
|
||||||
|
--- VirtualBox-5.1.14.orig/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
|
+++ VirtualBox-5.1.14/src/VBox/Additions/linux/sharedfolders/lnkops.c
|
||||||
|
@@ -88,6 +88,31 @@ static const char *sf_get_link(struct de
|
||||||
|
}
|
||||||
|
# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0) */
|
||||||
|
|
||||||
|
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
||||||
|
+/*
|
||||||
|
+ * A helper for ->readlink(). This should be used *ONLY* for symlinks that
|
||||||
|
+ * have ->get_link() not calling nd_jump_link(). Using (or not using) it
|
||||||
|
+ * for any given inode is up to filesystem.
|
||||||
|
+ */
|
||||||
|
+static int generic_readlink(struct dentry *dentry, char __user *buffer,
|
||||||
|
+ int buflen)
|
||||||
|
+{
|
||||||
|
+ DEFINE_DELAYED_CALL(done);
|
||||||
|
+ struct inode *inode = d_inode(dentry);
|
||||||
|
+ const char *link = inode->i_link;
|
||||||
|
+ int res;
|
||||||
|
+
|
||||||
|
+ if (!link) {
|
||||||
|
+ link = inode->i_op->get_link(dentry, inode, &done);
|
||||||
|
+ if (IS_ERR(link))
|
||||||
|
+ return PTR_ERR(link);
|
||||||
|
+ }
|
||||||
|
+ res = readlink_copy(buffer, buflen, link);
|
||||||
|
+ do_delayed_call(&done);
|
||||||
|
+ return res;
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
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,29 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
|
||||||
|
- The version bump to 5.1.14 also addresses boo#1020856 CVE-2017-3316 CVE-2017-3332 CVE-2017-3290 CVE-2016-5545
|
||||||
|
|
||||||
|
- Version bump to 5.1.14 (released 2017-01-17 by Oracle)
|
||||||
|
|
||||||
|
This is a maintenance release. The following items were fixed and/or added:
|
||||||
|
|
||||||
|
VMM: fixed emulation of certain instructions for 64-bit guests on 32-bit hosts
|
||||||
|
VMM: properly handle certain MSRs for 64-bit guests on ancient CPUs without VT-x support for MSR bitmaps (bug #13886)
|
||||||
|
GUI: fixed a crash with multimonitor setups under certain conditions
|
||||||
|
GUI: allow cloning of snapshots when the VM is running
|
||||||
|
NVMe: fixed compatibility with the Storage Performance Development Kit (SPDK, bug #16368)
|
||||||
|
VBoxSVC: fixed a crash under rare circumstances
|
||||||
|
VBoxManage: added a sanity check to modifymedium --resize to prevent users from resizing their hard disk from 1GB to 1PB (bug #16311)
|
||||||
|
Windows hosts: another fix for recent Windows 10 hosts
|
||||||
|
Linux hosts: Linux 4.10 fixes
|
||||||
|
Linux Additions: fixed protocol error during certain operations on shared folders (bug #8463)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Jan 14 02:14:27 UTC 2017 - Larry.Finger@lwfinger.net
|
Sat Jan 14 02:14:27 UTC 2017 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
%define _vbox_instdir %{_libexecdir}/virtualbox
|
%define _vbox_instdir %{_libexecdir}/virtualbox
|
||||||
%define _udevrulesdir %{_sysconfdir}/udev/rules.d
|
%define _udevrulesdir %{_sysconfdir}/udev/rules.d
|
||||||
Name: virtualbox
|
Name: virtualbox
|
||||||
Version: 5.1.12
|
Version: 5.1.14
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: VirtualBox is an Emulator
|
Summary: VirtualBox is an Emulator
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
@ -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