1
0
forked from pool/virtualbox

Accepting request 439057 from Virtualization

Fixes for VUL-0: CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313
  boo #1005621

OBS-URL: https://build.opensuse.org/request/show/439057
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=122
This commit is contained in:
Dominique Leuenberger 2016-11-12 11:58:32 +00:00 committed by Git OBS Bridge
commit 0adee2dde5
9 changed files with 206 additions and 26 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0191d99ba1746d581920dace67d2acd65c8febc131dba9f27bde660e432ee91
size 4338868
oid sha256:545e897e079210e43c3e396732b1a954a37cf644ef0aac915f12e9e20d76eb91
size 4350253

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6bf464ab319df3ecb91e3e5cdc5a4b33c110342c6449359a091f484d7fcbcc7d
size 80064621

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a836c61e8f1d751236d0f25f609bfb5d52adc5d834fc102037778833cea4c1d
size 80056974

View File

@ -2,7 +2,7 @@
<constraints>
<hardware>
<physicalmemory>
<size unit="M">8000</size>
<size unit="M">12000</size>
</physicalmemory>
</hardware>
</constraints>

View File

@ -1,17 +1,17 @@
Index: VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py
Index: VirtualBox-5.1.8/src/libs/xpcom18a4/python/gen_python_deps.py
===================================================================
--- VirtualBox-5.1.6.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -85,7 +85,7 @@ def main(argv):
--- VirtualBox-5.1.8.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-5.1.8/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -86,7 +86,7 @@ def main(argv):
else:
multi = 1
- if multi == 0:
+ if not multi:
prefixes = ["/usr"]
versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1])]
@@ -112,22 +112,23 @@ def main(argv):
versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1]),
str(sys.version_info[0])+'.'+str(sys.version_info[1])+'m']
@@ -114,24 +114,25 @@ def main(argv):
continue
for p in prefixes:
c = checkPair(p, v, dllpre, dllsuff, bitness_magic)
@ -37,6 +37,8 @@ Index: VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py
+ # this type of problem should be detected in configure
+ # print_vars("DEF", defaultpaths, sep, bitness_magic)
+ pass
else:
print(argv[0] + ": No Python development package found!", file=sys.stderr)
+ if multi:
+ for ver, paths in known.items():
+ print_vars(ver.replace('.', '').upper(), paths, sep, bitness_magic)

View File

@ -0,0 +1,66 @@
Index: VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c
===================================================================
--- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/sharedfolders/dirops.c
+++ VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c
@@ -747,8 +747,14 @@ static int sf_rmdir(struct inode *parent
* @param new_dentry new directory cache entry
* @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)
+#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.8/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-5.1.8/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);
#else
r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
Index: VirtualBox-5.1.8/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-5.1.8.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-5.1.8/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. */

View File

@ -0,0 +1,26 @@
Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in
===================================================================
--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml.spec.in
+++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in
@@ -69,7 +69,7 @@ at parse time or later once the document
%build
%configure
-make %{_smp_mflags}
+make
%install
rm -fr %{buildroot}
Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec
===================================================================
--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml2.spec
+++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec
@@ -69,7 +69,7 @@ at parse time or later once the document
%build
%configure
-make %{_smp_mflags}
+make
%install
rm -fr %{buildroot}

View File

@ -1,3 +1,91 @@
-------------------------------------------------------------------
Tue Nov 1 15:31:03 UTC 2016 - Larry.Finger@lwfinger.net
- Remove all references to libreadline. I misinterpreted a previous error message.
- Fixes for VUL-0: CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313
boo #1005621.
-------------------------------------------------------------------
Sun Oct 30 00:29:50 UTC 2016 - Larry.Finger@lwfinger.net
- Replaced libreadline6 with libreadline7.
-------------------------------------------------------------------
Wed Oct 26 17:08:03 UTC 2016 - Larry.Finger@lwfinger.net
- Found and fixed another API change for kernel 4.9. In addition, the libreadline6 package is now needed.
-------------------------------------------------------------------
Fri Oct 21 16:05:13 UTC 2016 - Larry.Finger@lwfinger.net
- Fix typo in "vbox_fix_4.9_api_changes.patch".
-------------------------------------------------------------------
Thu Oct 20 23:04:09 UTC 2016 - Larry.Finger@lwfinger.net
- Make another 4.9 API change.
-------------------------------------------------------------------
Thu Oct 20 12:57:28 UTC 2016 - Larry.Finger@lwfinger.net
- Fix build on kernel 4.9 using patch "vbox_fix_4.9_api_changes.patch".
-------------------------------------------------------------------
Wed Oct 19 15:42:56 UTC 2016 - Larry.Finger@lwfinger.net
- Fixes for VUL-0: CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313
boo #1005621.
- Add patch file "vbox_remove_smp_mflags.patch" to limit number of simultaneous make jobs.
- Version bump to 5.1.8 (released 2016-10-18 by Oracle)
This is a maintenance release. The following items were fixed and/or added:
GUI: fixed keyboard shortcut handling regressions (Mac OS X hosts only; bugs #15937 and #15938)
GUI: fixed keyboard handling regression for separate UI (Windows hosts only; bugs #15928)
NAT: don't exceed the maximum number of "search" suffixes. Patch from bug #15948.
NAT: fixed parsing of port-forwarding rules with a name which contains a slash (bug #16002)
NAT Network: when the host has only loopback nameserver that cannot be mapped to the guests (e.g. dnsmasq running on 127.0.1.1), make DHCP supply NAT Network DNS proxy as nameserver.
Bridged Network: prevent flooding syslog with packet allocation error messages (bug #15569)
Audio: now using Audio Queues on Mac OS X hosts
Audio: fixed recording with the PulseAudio backend (5.1 regression)
Audio: various bugfixes
Snapshots: fixed regression in 5.1.4 for deleting snapshots with several disks (bug #15831)
Snapshots: crash fix and better error reporting when snapshot deletion failed
Storage: some fixes for the NVMe emulation with Windows guests
API: fixed initialization of SAS controllers (bug #15972)
Build system: make it possible to build VBox on systems which default to Python 3
Windows Additions / VGA: if the guest's power management turns a virtual screen off, blank the corresponding VM window rather than hide the window
Windows Additions: fixed a generic bug which could lead to freezing shared folders (bug #15662)
Linux hosts / guests: fix for kernels with CONFIG_CPUMASK_OFFSTACK set (bug #16020)
Linux Additions: don't require all virtual consoles be in text mode. This should fix cases when the guest is booted with a graphical boot screen (bug #15683)
Linux Additions: added depmod overrides for the vboxguest and vboxsf kernel modules to fix conflicts with modules shipped by certain Linux distributions
X11 Additions: disable 3D on the guest if the host does not provide enough capabilities (bug #15860)
-------------------------------------------------------------------
Tue Oct 18 14:43:04 UTC 2016 - Larry.Finger@lwfinger.net
- Requesting 14000 MB is too much. Reduce the request to 12000 MB.
-------------------------------------------------------------------
Thu Oct 13 19:15:03 UTC 2016 - Larry.Finger@lwfinger.net
- Some builds still run out of memory and fail. Increase to 14000 MB.
-------------------------------------------------------------------
Thu Oct 13 16:11:14 UTC 2016 - Larry.Finger@lwfinger.net
- Builds keep running out of memory when building the web server part of the package.
To help the memory pressure, I have forced make to run with "-j2", rather than use
the number of processors. Such a change will slow the build, but will result in a
higher rate of success.
-------------------------------------------------------------------
Wed Oct 12 20:07:16 UTC 2016 - Larry.Finger@lwfinger.net
- Increase memory allowed in build to 10000 MB.
-------------------------------------------------------------------
Mon Sep 12 22:25:42 UTC 2016 - Larry.Finger@lwfinger.net

View File

@ -19,7 +19,7 @@
%define _vbox_instdir %{_libexecdir}/virtualbox
%define _udevrulesdir %{_libexecdir}/udev/rules.d
Name: virtualbox
Version: 5.1.6
Version: 5.1.8
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0+
@ -86,6 +86,10 @@ Patch109: vbox-usb-warning.diff
Patch111: vbox_prevent_wrong_SONAME.patch
# Fix change in kernel API for ttm_bo_move_memcpy()
Patch112: modify_for_4_8_bo_move.patch
# Remove all mention of _smp_mflags
Patch113: vbox_remove_smp_mflags.patch
# Fix build error on kernel 4.9
Patch114: vbox_fix_4.9_api_changes.patch
#
BuildRequires: LibVNCServer-devel
BuildRequires: SDL-devel
@ -319,6 +323,8 @@ This package contains icons for guest desktop files that were created on the des
%patch109 -p1
%patch111 -p1
%patch112 -p1
%patch113 -p1
%patch114 -p1
#copy user manual
cp %{SOURCE1} UserManual.pdf
@ -369,11 +375,8 @@ source ./env.sh
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
echo "build basic parts"
%ifarch %ix86
%{_bindir}/kmk -j2 \
%else
%{_bindir}/kmk %{?_smp_mflags} \
%endif
# To keep memory requirements within bounds, limit make to 2 jobs
%{_bindir}/kmk -j2 \
VBOX_GCC_WERR= \
KBUILD_VERBOSE=2 \
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
@ -422,12 +425,7 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
$PWD/modules_build_dir/$flavor/$module_name
fi
# build the module for the specific flavor
%ifarch %ix86
make -j2 \
%else
make %{?_smp_mflags} \
%endif
-C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \
make -j2 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \
M=$PWD/modules_build_dir/$flavor/$module_name
done
done
@ -464,7 +462,7 @@ do
#and trought the all flavors
for flavor in %{flavors_to_build}; do
#to install modules use Makefile from %{_prefix}/src/linux-obj/%_target_cpu/$flavor and builds from $PWD/modules_build_dir/$flavor/$module_name
make %{?_smp_mflags} -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
done
done