From cd06ddeb542ed16dac350a6e40924d5891fd8ffa481c3811572efa62edeab9e8 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Tue, 18 Jul 2017 14:23:30 +0000 Subject: [PATCH 1/4] - In kernel 4.13, wait_queue_t => wait_queue_entry_t. File "vbox_fix_for_kernel_4.13.patch" patches the source to account for this change. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=350 --- vbox_fix_for_kernel_4.13.patch | 14 ++++++++++++++ virtualbox.changes | 5 +++++ virtualbox.spec | 3 +++ 3 files changed, 22 insertions(+) create mode 100644 vbox_fix_for_kernel_4.13.patch diff --git a/vbox_fix_for_kernel_4.13.patch b/vbox_fix_for_kernel_4.13.patch new file mode 100644 index 0000000..bb84087 --- /dev/null +++ b/vbox_fix_for_kernel_4.13.patch @@ -0,0 +1,14 @@ +Index: VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h +=================================================================== +--- VirtualBox-5.1.22.orig/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h ++++ VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h +@@ -39,6 +39,9 @@ + * schedule_hrtimeout_range. */ + #define RTR0SEMLNXWAIT_RESOLUTION 50000 + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++#define wait_queue_t wait_queue_entry_t ++#endif + + /** + * Kernel mode Linux wait state structure. diff --git a/virtualbox.changes b/virtualbox.changes index 7587f30..b0b9811 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 18 14:19:44 UTC 2017 - Larry.Finger@lwfinger.net + +- In kernel 4.13, wait_queue_t => wait_queue_entry_t. File "vbox_fix_for_kernel_4.13.patch" patches the source to account for this change. + ------------------------------------------------------------------- Mon Jul 10 18:22:25 UTC 2017 - Larry.Finger@lwfinger.net diff --git a/virtualbox.spec b/virtualbox.spec index 0ab9d99..e680ee6 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -106,6 +106,8 @@ Patch116: Fix_for_server_1.19.patch Patch117: vbox_fix_for_kernel_4.12.patch # Fix for missing cleanup in KMS support Patch118: fix_KMS_support.patch +# Fix for kernel 4.13 API changes +Patch119: vbox_fix_for_kernel_4.13.patch # BuildRequires: LibVNCServer-devel BuildRequires: SDL-devel @@ -388,6 +390,7 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL. %patch116 -p1 %patch117 -p1 %patch118 -p1 +%patch119 -p1 #copy user manual cp %{SOURCE1} UserManual.pdf From e2ddd9b6412e630d642a39c67ee4d71a40d2746a7874c0d6416b97c1953a024e Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Wed, 19 Jul 2017 04:47:23 +0000 Subject: [PATCH 2/4] - Version bump to 5.1.24 (released 2017-07-18 by Oracle) This is a maintenance release. The following items were fixed and/or added: VMM: mask the VME CPUID capability on AMD Ryzen processors for now to make certain guests works, for example Windows XP VMM: emulate more SSE2 instructions VMM: properly clear the TF and AC flags when dispatching real-mode interrupts GUI: fixes to make the mini-toolbar work with recent versions of KDE / Plasma (bug #16325) GUI: fixed a potential crash when a VM with multiple screens is running in full screen / seamless mode and a host screen is removed, for example when connecting to the host via RDP GUI: fixed initial size hints for guests which set intermediate sizes before responding (bug #16593) GUI: prevent stopped screen updates or black screen on reboot in a multi-screen setup under certain conditions Audio: many improvements for Windows 10 guests (bugs #15189, #15925, #16170, #16682, #16794 and others) Storage: fixed possible crash when using Intels SPDK API: use the correct file name of the VM machine state if the VM settings directory is renamed, for example during grouping / ungrouping a VM (bugs #16075 and #16745) API: return the correct error code if powering up a VM fails API: video recording did not automatically start at VM start when enabled in the VM settings (bug #16803) API: when relocating a medium, check that the target path is fully qualified EFI: fix for VMs with more than 3504MB RAM (bug #11103) Host-only adapter: correctly determine IPv4 netmasks on Windows hosts (bug #16826) NAT network: properly do the refcounting for starting / stopping the NAT / DHCP services if the NAT network is changed while the adapter network connection type is anything else but NAT network VBoxManage: fixed controlvm videocapfile (bug #16779) Linux / Mac OS X hosts: more fixes for loading shared libraries (5.1.20 regression; bugs #16778, #16693) Linux hosts / guests: Linux 4.12 fixes (bugs #16725, #16800) Linux hosts / guests: reduce the kernel stack consumption for Linux kernels with CONFIG_CPUMASK_OFFSTACK defined Linux hosts / guests: fixes for kernel modules built with gcc-7 (bug #16772) Linux hosts / guests: Linux 4.13 fix (bug #16887) Linux hosts: don't depend on net-tools on newer distributions as this package is deprecated in favour of iproute (bug #16764) Linux hosts: make 2D video acceleration available for older Linux distributions (5.1 regression; bug #16858) Linux Additions: fix for dynamic resizing with Oracle Linux 6 with UEK4 Linux Additions: make Fedora 25 and 26 Alpha work when 3D pass-through is enabled Linux Additions: no longer recommend removing distribution- installed Additions if they are updated to our guidelines OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=351 --- UserManual.pdf | 4 +- VirtualBox-5.1.22-patched.tar.bz2 | 3 - VirtualBox-5.1.24-patched.tar.bz2 | 3 + vbox-vboxadd-init-script.diff | 70 ++++---- vbox_fix_for_gcc7.patch | 264 +----------------------------- virtualbox.changes | 35 ++++ virtualbox.spec | 10 +- 7 files changed, 79 insertions(+), 310 deletions(-) delete mode 100644 VirtualBox-5.1.22-patched.tar.bz2 create mode 100644 VirtualBox-5.1.24-patched.tar.bz2 diff --git a/UserManual.pdf b/UserManual.pdf index f31f2b1..977513e 100644 --- a/UserManual.pdf +++ b/UserManual.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7ad57de95dfbc9a7ade2fa776c2c5c932de0f59611aefcd32bb492c89b313b2 -size 4366804 +oid sha256:5d9164ca39ec8179d56c401fdf0b91f5fa1f42b2729b0e68e5aa5aafc7677bd4 +size 4370515 diff --git a/VirtualBox-5.1.22-patched.tar.bz2 b/VirtualBox-5.1.22-patched.tar.bz2 deleted file mode 100644 index 7c5b2e2..0000000 --- a/VirtualBox-5.1.22-patched.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60f50d53eae32af5a13c3c5a7ce64683a97c74c81ac05021df273068e821fc0f -size 81174832 diff --git a/VirtualBox-5.1.24-patched.tar.bz2 b/VirtualBox-5.1.24-patched.tar.bz2 new file mode 100644 index 0000000..e385a77 --- /dev/null +++ b/VirtualBox-5.1.24-patched.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13d2717ec88b2f9fb1cd5edbbd8453efafadbb442cb3552b355046e7dd3a6436 +size 81253450 diff --git a/vbox-vboxadd-init-script.diff b/vbox-vboxadd-init-script.diff index fdfb342..86ccbdf 100644 --- a/vbox-vboxadd-init-script.diff +++ b/vbox-vboxadd-init-script.diff @@ -1,8 +1,8 @@ -Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-5.1.24/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh -@@ -23,9 +23,12 @@ +--- VirtualBox-5.1.24.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-5.1.24/src/VBox/Additions/linux/installer/vboxadd.sh +@@ -25,11 +25,14 @@ # Provides: vboxadd # Required-Start: # Required-Stop: @@ -11,12 +11,14 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh +# Should-Stop: $remote_fs +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 + # X-Start-Before: display-manager + # X-Service-Type: oneshot # Description: VirtualBox Linux Additions kernel modules +# Short-Description: VirtualBox Linux Additions kernel modules ### END INIT INFO ## @todo This file duplicates a lot of script with vboxdrv.sh. When making -@@ -108,18 +111,9 @@ fail() +@@ -112,18 +115,9 @@ fail() dev=/dev/vboxguest userdev=/dev/vboxuser @@ -35,7 +37,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh running_vboxguest() { lsmod | grep -q "vboxguest[^_-]" -@@ -162,12 +156,6 @@ do_vboxguest_non_udev() +@@ -166,12 +160,6 @@ do_vboxguest_non_udev() fail "Cannot create device $dev with major $maj and minor $min" } fi @@ -48,7 +50,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh if [ ! -c $userdev ]; then maj=10 -@@ -178,12 +166,6 @@ do_vboxguest_non_udev() +@@ -182,12 +170,6 @@ do_vboxguest_non_udev() rmmod vboxguest 2>/dev/null fail "Cannot create device $userdev with major $maj and minor $min" } @@ -61,7 +63,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh fi fi } -@@ -193,9 +175,8 @@ start() +@@ -197,9 +179,8 @@ start() begin "Starting the VirtualBox Guest Additions" console; # If we got this far assume that the slow set-up has been done. QUICKSETUP=yes @@ -73,7 +75,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh no_udev=1 running_vboxguest || { rm -f $dev || { -@@ -209,7 +190,6 @@ start() +@@ -213,7 +194,6 @@ start() $MODPROBE vboxguest >/dev/null 2>&1 || { setup $MODPROBE vboxguest >/dev/null 2>&1 || { @@ -81,7 +83,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh fail "modprobe vboxguest failed" } } -@@ -234,14 +214,14 @@ start() +@@ -238,14 +218,15 @@ start() fi # INSTALL_NO_MODULE_BUILDS # Put the X.Org driver in place. This is harmless if it is not needed. @@ -90,17 +92,17 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh # Install the guest OpenGL drivers. For now we don't support # multi-architecture installations rm -f /etc/ld.so.conf.d/00vboxvideo.conf + rm -Rf /var/lib/VBoxGuestAdditions/lib if /usr/bin/VBoxClient --check3d 2>/dev/null; then mkdir -p /var/lib/VBoxGuestAdditions/lib - ln -sf "${INSTALL_DIR}/lib/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1 -- ln -sf "${INSTALL_DIR}/lib/VBoxEGL.so" /var/lib/VBoxGuestAdditions/lib/libEGL.so.1 + ln -sf "/usr/lib64/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1 + ln -sf "/usr/lib64/VBoxEGL.so" /var/lib/VBoxGuestAdditions/lib/libEGL.so.1 # SELinux for the OpenGL libraries, so that gdm can load them during the # acceleration support check. This prevents an "Oh no, something has gone # wrong!" error when starting EL7 guests. -@@ -254,6 +234,15 @@ start() - chcon -h -t lib_t "/var/lib/VBoxGuestAdditions/lib/libEGL.so.1" +@@ -256,6 +237,15 @@ start() + chcon -h -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.so.1" fi echo "/var/lib/VBoxGuestAdditions/lib" > /etc/ld.so.conf.d/00vboxvideo.conf + # The above code will enable 3D acceleration for Gnome VM desktops. For Plasma 5 (KDE) @@ -115,7 +117,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh fi ldconfig -@@ -394,9 +383,9 @@ create_udev_rule() +@@ -396,9 +386,9 @@ create_udev_rule() echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules fi } @@ -128,7 +130,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh # And a post-installation script for rebuilding modules when a new kernel # is installed. mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d -@@ -427,47 +416,18 @@ shared_folder_setup() +@@ -429,47 +419,18 @@ shared_folder_setup() ## @todo It would be nicer if the kernel module just parsed parameters # itself instead of needing a separate binary to do that. ln -sf "$lib_path/$PACKAGE/mount.vboxsf" /sbin @@ -180,7 +182,7 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh depmod # Remove old module sources -@@ -477,13 +437,14 @@ cleanup() +@@ -479,13 +440,14 @@ cleanup() fi # Clean-up X11-related bits @@ -199,10 +201,10 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd.sh fi rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null } -Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd-service.sh +Index: VirtualBox-5.1.24/src/VBox/Additions/linux/installer/vboxadd-service.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh -+++ VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd-service.sh +--- VirtualBox-5.1.24.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh ++++ VirtualBox-5.1.24/src/VBox/Additions/linux/installer/vboxadd-service.sh @@ -20,7 +20,7 @@ # Provides: vboxadd-service # Required-Start: vboxadd @@ -212,10 +214,10 @@ Index: VirtualBox-5.1.22/src/VBox/Additions/linux/installer/vboxadd-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox Additions Service ### END INIT INFO -Index: VirtualBox-5.1.22/src/VBox/Installer/linux/vboxautostart-service.sh +Index: VirtualBox-5.1.24/src/VBox/Installer/linux/vboxautostart-service.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Installer/linux/vboxautostart-service.sh -+++ VirtualBox-5.1.22/src/VBox/Installer/linux/vboxautostart-service.sh +--- VirtualBox-5.1.24.orig/src/VBox/Installer/linux/vboxautostart-service.sh ++++ VirtualBox-5.1.24/src/VBox/Installer/linux/vboxautostart-service.sh @@ -20,7 +20,7 @@ # Provides: vboxautostart-service # Required-Start: vboxdrv @@ -225,10 +227,10 @@ Index: VirtualBox-5.1.22/src/VBox/Installer/linux/vboxautostart-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO -Index: VirtualBox-5.1.22/src/VBox/Installer/linux/vboxballoonctrl-service.sh +Index: VirtualBox-5.1.24/src/VBox/Installer/linux/vboxballoonctrl-service.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh -+++ VirtualBox-5.1.22/src/VBox/Installer/linux/vboxballoonctrl-service.sh +--- VirtualBox-5.1.24.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh ++++ VirtualBox-5.1.24/src/VBox/Installer/linux/vboxballoonctrl-service.sh @@ -20,7 +20,7 @@ # Provides: vboxballoonctrl-service # Required-Start: vboxdrv @@ -238,10 +240,10 @@ Index: VirtualBox-5.1.22/src/VBox/Installer/linux/vboxballoonctrl-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox watchdog daemon ### END INIT INFO -Index: VirtualBox-5.1.22/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +Index: VirtualBox-5.1.24/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh -+++ VirtualBox-5.1.22/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +--- VirtualBox-5.1.24.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh ++++ VirtualBox-5.1.24/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh @@ -31,7 +31,7 @@ # Provides: testboxscript-service # Required-Start: $network @@ -251,10 +253,10 @@ Index: VirtualBox-5.1.22/src/VBox/ValidationKit/testboxscript/linux/testboxscrip # Default-Stop: 0 1 6 # Description: TestBoxScript service ### END INIT INFO -Index: VirtualBox-5.1.22/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +Index: VirtualBox-5.1.24/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh -+++ VirtualBox-5.1.22/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +--- VirtualBox-5.1.24.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh ++++ VirtualBox-5.1.24/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network @@ -264,10 +266,10 @@ Index: VirtualBox-5.1.22/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO -Index: VirtualBox-5.1.22/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +Index: VirtualBox-5.1.24/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh =================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh -+++ VirtualBox-5.1.22/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +--- VirtualBox-5.1.24.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh ++++ VirtualBox-5.1.24/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network diff --git a/vbox_fix_for_gcc7.patch b/vbox_fix_for_gcc7.patch index bfd7287..eff2f11 100644 --- a/vbox_fix_for_gcc7.patch +++ b/vbox_fix_for_gcc7.patch @@ -1,18 +1,3 @@ -Index: VirtualBox-5.1.22/configure -=================================================================== ---- VirtualBox-5.1.22.orig/configure -+++ VirtualBox-5.1.22/configure -@@ -447,8 +447,8 @@ check_gcc() - -o \( $cc_maj -eq 4 -a $cc_min -gt 9 \) \ - -o \( $cc_maj -eq 5 -a $cc_min -gt 9 \) \ - -o \( $cc_maj -eq 6 -a $cc_min -gt 9 \) \ -- -o $cc_maj -gt 6 ]; then -- log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x or gcc 6.x" -+ -o $cc_maj -gt 7 ]; then -+ log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x, gcc 6.x or gcc7.x" - fail really - else - log_success "found version $cc_ver" Index: VirtualBox-5.1.22/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/pxe_preboot.c =================================================================== --- VirtualBox-5.1.22.orig/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/pxe_preboot.c @@ -25,251 +10,4 @@ Index: VirtualBox-5.1.22/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/px } /* PXENV_START_UNDI -Index: VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest -+++ VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest -@@ -54,6 +54,7 @@ FILES_VBOXGUEST_NOBIN=" \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \ -@@ -113,6 +114,7 @@ FILES_VBOXGUEST_NOBIN=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>common/math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>common/math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>common/math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>common/math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>common/math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ -Index: VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/Makefile -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/common/VBoxGuest/linux/Makefile -+++ VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/Makefile -@@ -100,6 +100,7 @@ MOD_OBJS += \ - common/math/gcc/divdi3.o \ - common/math/gcc/moddi3.o \ - common/math/gcc/udivdi3.o \ -+ common/math/gcc/udivmoddi4.o \ - common/math/gcc/umoddi3.o \ - common/math/gcc/qdivrem.o - endif -Index: VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/files_vboxsf -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/sharedfolders/files_vboxsf -+++ VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/files_vboxsf -@@ -38,6 +38,7 @@ FILES_VBOXSF_NOBIN=" \ - ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \ -@@ -73,6 +74,7 @@ FILES_VBOXSF_NOBIN=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/Makefile.module=>Makefile \ -Index: VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/Makefile.module -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module -+++ VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/Makefile.module -@@ -38,6 +38,7 @@ MOD_OBJS += \ - divdi3.o \ - moddi3.o \ - udivdi3.o \ -+ udivmoddi4.o \ - umoddi3.o \ - qdivrem.o - endif -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/files_vboxdrv -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/Support/linux/files_vboxdrv -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/files_vboxdrv -@@ -65,6 +65,7 @@ FILES_VBOXDRV_NOBIN=" \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ - ${PATH_ROOT}/include/iprt/uint128.h=>include/iprt/uint128.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -109,6 +110,7 @@ FILES_VBOXDRV_NOBIN=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/Makefile -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/Support/linux/Makefile -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/Makefile -@@ -158,6 +158,7 @@ OBJS += math/gcc/divdi3.o \ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp -@@ -49,6 +49,7 @@ VBOX_VBOXNETADP_SOURCES=" \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -70,6 +71,7 @@ VBOX_VBOXNETADP_SOURCES=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/string/strformat.cpp=>common/string/strformat.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/string/strformatrt.cpp=>common/string/strformatrt.c \ -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile -@@ -68,6 +68,7 @@ OBJS += math/gcc/divdi3.o \ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt -@@ -49,6 +49,7 @@ VBOX_VBOXNETFLT_SOURCES=" \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -77,6 +78,7 @@ VBOX_VBOXNETFLT_SOURCES=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_OUT}/version-generated.h=>version-generated.h \ -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile -@@ -72,6 +72,7 @@ OBJS += math/gcc/divdi3.o \ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci -@@ -48,6 +48,7 @@ VBOX_VBOXPCI_SOURCES=" \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -75,6 +76,7 @@ VBOX_VBOXPCI_SOURCES=" \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_OUT}/version-generated.h=>version-generated.h \ -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/Makefile -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxPci/linux/Makefile -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/Makefile -@@ -72,6 +72,7 @@ OBJS += math/gcc/divdi3.o \ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: VirtualBox-5.1.22/src/VBox/Runtime/common/math/gcc/udivmoddi4.c -=================================================================== ---- /dev/null -+++ VirtualBox-5.1.22/src/VBox/Runtime/common/math/gcc/udivmoddi4.c -@@ -0,0 +1,51 @@ -+/* $Id$ */ -+/** @file -+ * IPRT - __udivmoddi4 implementation -+ */ -+ -+/* -+ * Copyright (C) 2006-2016 Oracle Corporation -+ * -+ * This file is part of VirtualBox Open Source Edition (OSE), as -+ * available from http://www.virtualbox.org. This file is free software; -+ * you can redistribute it and/or modify it under the terms of the GNU -+ * General Public License (GPL) as published by the Free Software -+ * Foundation, in version 2 as it comes in the "COPYING" file of the -+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the -+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. -+ * -+ * The contents of this file may alternatively be used under the terms -+ * of the Common Development and Distribution License Version 1.0 -+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the -+ * VirtualBox OSE distribution, in which case the provisions of the -+ * CDDL are applicable instead of those of the GPL. -+ * -+ * You may elect to license modified versions of this file under the -+ * terms and conditions of either the GPL or the CDDL or both. -+ */ -+ -+#include -+#include -+ -+/** -+ * __udivmoddi4() implementation to satisfy external references from 32-bit -+ * code generated by gcc-7 or later. -+ * -+ * @param u64A The divident value. -+ * @param u64B The divisor value. -+ * @param pu64R A pointer to the reminder. May be NULL. -+ * @returns u64A / u64B -+ */ -+uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R) -+{ -+ RTUINT64U Divident; -+ RTUINT64U Divisor; -+ RTUINT64U Quotient; -+ RTUINT64U Reminder; -+ Divident.u = u64A; -+ Divisor.u = u64B; -+ RTUInt64DivRem(&Quotient, &Reminder, &Divident, &Divisor); -+ if (pu64R) -+ *pu64R = Reminder.u; -+ return Quotient.u; -+} + diff --git a/virtualbox.changes b/virtualbox.changes index b0b9811..4e6e272 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Wed Jul 19 04:41:55 UTC 2017 - Larry.Finger@lwfinger.net + +- Version bump to 5.1.24 (released 2017-07-18 by Oracle) + +This is a maintenance release. The following items were fixed and/or added: + + VMM: mask the VME CPUID capability on AMD Ryzen processors for now to make certain guests works, for example Windows XP + VMM: emulate more SSE2 instructions + VMM: properly clear the TF and AC flags when dispatching real-mode interrupts + GUI: fixes to make the mini-toolbar work with recent versions of KDE / Plasma (bug #16325) + GUI: fixed a potential crash when a VM with multiple screens is running in full screen / seamless mode and a host screen is removed, for example when connecting to the host via RDP + GUI: fixed initial size hints for guests which set intermediate sizes before responding (bug #16593) + GUI: prevent stopped screen updates or black screen on reboot in a multi-screen setup under certain conditions + Audio: many improvements for Windows 10 guests (bugs #15189, #15925, #16170, #16682, #16794 and others) + Storage: fixed possible crash when using Intels SPDK + API: use the correct file name of the VM machine state if the VM settings directory is renamed, for example during grouping / ungrouping a VM (bugs #16075 and #16745) + API: return the correct error code if powering up a VM fails + API: video recording did not automatically start at VM start when enabled in the VM settings (bug #16803) + API: when relocating a medium, check that the target path is fully qualified + EFI: fix for VMs with more than 3504MB RAM (bug #11103) + Host-only adapter: correctly determine IPv4 netmasks on Windows hosts (bug #16826) + NAT network: properly do the refcounting for starting / stopping the NAT / DHCP services if the NAT network is changed while the adapter network connection type is anything else but NAT network + VBoxManage: fixed controlvm videocapfile (bug #16779) + Linux / Mac OS X hosts: more fixes for loading shared libraries (5.1.20 regression; bugs #16778, #16693) + Linux hosts / guests: Linux 4.12 fixes (bugs #16725, #16800) + Linux hosts / guests: reduce the kernel stack consumption for Linux kernels with CONFIG_CPUMASK_OFFSTACK defined + Linux hosts / guests: fixes for kernel modules built with gcc-7 (bug #16772) + Linux hosts / guests: Linux 4.13 fix (bug #16887) + Linux hosts: don't depend on net-tools on newer distributions as this package is deprecated in favour of iproute (bug #16764) + Linux hosts: make 2D video acceleration available for older Linux distributions (5.1 regression; bug #16858) + Linux Additions: fix for dynamic resizing with Oracle Linux 6 with UEK4 + Linux Additions: make Fedora 25 and 26 Alpha work when 3D pass-through is enabled + Linux Additions: no longer recommend removing distribution- installed Additions if they are updated to our guidelines + ------------------------------------------------------------------- Tue Jul 18 14:19:44 UTC 2017 - Larry.Finger@lwfinger.net diff --git a/virtualbox.spec b/virtualbox.spec index e680ee6..e1ec8a5 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -22,7 +22,7 @@ %define _vbox_instdir %{_libexecdir}/virtualbox %define _udevrulesdir %{_sysconfdir}/udev/rules.d Name: virtualbox -Version: 5.1.22 +Version: 5.1.24 Release: 0 Summary: VirtualBox is an Emulator License: GPL-2.0+ @@ -102,12 +102,8 @@ Patch114: vbox_fix_42.3_api.patch Patch115: vbox_fix_for_gcc7.patch # Fix for missing include needed for server 1.19 Patch116: Fix_for_server_1.19.patch -# Fix for kernel 4.12 API changes -Patch117: vbox_fix_for_kernel_4.12.patch # Fix for missing cleanup in KMS support -Patch118: fix_KMS_support.patch -# Fix for kernel 4.13 API changes -Patch119: vbox_fix_for_kernel_4.13.patch +Patch117: fix_KMS_support.patch # BuildRequires: LibVNCServer-devel BuildRequires: SDL-devel @@ -389,8 +385,6 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL. %patch115 -p1 %patch116 -p1 %patch117 -p1 -%patch118 -p1 -%patch119 -p1 #copy user manual cp %{SOURCE1} UserManual.pdf From 25bf4881a5fef2e126ff95309e066bad4e72eb9ea00a7d2b8cc4bad52193c974 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Wed, 19 Jul 2017 04:48:17 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=352 --- vbox_fix_for_kernel_4.12.patch | 108 --------------------------------- vbox_fix_for_kernel_4.13.patch | 14 ----- 2 files changed, 122 deletions(-) delete mode 100644 vbox_fix_for_kernel_4.12.patch delete mode 100644 vbox_fix_for_kernel_4.13.patch diff --git a/vbox_fix_for_kernel_4.12.patch b/vbox_fix_for_kernel_4.12.patch deleted file mode 100644 index 5ed9f28..0000000 --- a/vbox_fix_for_kernel_4.12.patch +++ /dev/null @@ -1,108 +0,0 @@ -Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -@@ -1397,7 +1397,7 @@ RTDECL(int) SUPR0Printf(const char *pszF - SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void) - { - uint32_t fFlags = 0; --#ifdef CONFIG_PAX_KERNEXEC -+#if defined(CONFIG_PAX_KERNEXEC) || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) - fFlags |= SUPKERNELFEATURES_GDT_READ_ONLY; - #endif - #if defined(VBOX_STRICT) || defined(VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV) -Index: VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -+++ VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -@@ -36,6 +36,9 @@ - #include - #include "r0drv/alloc-r0drv.h" - #include -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+#include -+#endif - - #if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP) - # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) -Index: VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -+++ VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -@@ -899,6 +899,9 @@ static struct page *rtR0MemObjLinuxVirtT - unsigned long pfn; - struct page *pPage; - pte_t *pEntry; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d_t p4d; -+#endif - union - { - pgd_t Global; -@@ -917,9 +920,18 @@ static struct page *rtR0MemObjLinuxVirtT - u.Global = *pgd_offset(current->active_mm, ulAddr); - if (RT_UNLIKELY(pgd_none(u.Global))) - return NULL; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d = *p4d_offset(&u.Global, ulAddr); -+ if (RT_UNLIKELY(p4d_none(p4d) || p4d_large(p4d) || !p4d_present(p4d))) -+ return NULL; -+#endif - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ u.Upper = *pud_offset(&p4d, ulAddr); -+#else - u.Upper = *pud_offset(&u.Global, ulAddr); -+#endif - if (RT_UNLIKELY(pud_none(u.Upper))) - return NULL; - # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) -@@ -1463,13 +1475,23 @@ static int rtR0MemObjLinuxFixPte(struct - { - int rc = -ENOMEM; - pgd_t *pgd; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d_t *p4d; -+#endif - - spin_lock(&mm->page_table_lock); - - pgd = pgd_offset(mm, ulAddr); - if (!pgd_none(*pgd) && !pgd_bad(*pgd)) - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d = p4d_offset(*pgd, ulAddr); -+ if (p4d_none(*p4d)) -+ goto exit; -+ pmd_t *pmd = pmd_offset(p4d, ulAddr); -+#else - pmd_t *pmd = pmd_offset(pgd, ulAddr); -+#endif - if (!pmd_none(*pmd)) - { - pte_t *ptep = pte_offset_map(pmd, ulAddr); -@@ -1487,6 +1509,9 @@ static int rtR0MemObjLinuxFixPte(struct - } - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+exit: -+#endif - spin_unlock(&mm->page_table_lock); - return rc; - } -Index: VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -+++ VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -@@ -320,6 +320,9 @@ DECLINLINE(unsigned long) msecs_to_jiffi - #endif - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+#include -+#endif - # define MY_SET_PAGES_EXEC(pPages, cPages) set_pages_x(pPages, cPages) - # define MY_SET_PAGES_NOEXEC(pPages, cPages) set_pages_nx(pPages, cPages) - #else diff --git a/vbox_fix_for_kernel_4.13.patch b/vbox_fix_for_kernel_4.13.patch deleted file mode 100644 index bb84087..0000000 --- a/vbox_fix_for_kernel_4.13.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h -=================================================================== ---- VirtualBox-5.1.22.orig/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h -+++ VirtualBox-5.1.22/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h -@@ -39,6 +39,9 @@ - * schedule_hrtimeout_range. */ - #define RTR0SEMLNXWAIT_RESOLUTION 50000 - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) -+#define wait_queue_t wait_queue_entry_t -+#endif - - /** - * Kernel mode Linux wait state structure. From 9eb9a7be0c93de46a4e80546dbc85281be2e32b316482d53044b6c785282a65c Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Wed, 19 Jul 2017 17:55:43 +0000 Subject: [PATCH 4/4] - File "vbox_fix_for_kernel_4.12.patch" removed as these changes are fixed upstream. - File "vbox_fix_for_kernel_4.13.patch" removed as these changes are fixed upstream. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=353 --- virtualbox.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/virtualbox.changes b/virtualbox.changes index 4e6e272..02c9aa4 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,6 +1,8 @@ ------------------------------------------------------------------- Wed Jul 19 04:41:55 UTC 2017 - Larry.Finger@lwfinger.net +- File "vbox_fix_for_kernel_4.12.patch" removed as these changes are fixed upstream. +- File "vbox_fix_for_kernel_4.13.patch" removed as these changes are fixed upstream. - Version bump to 5.1.24 (released 2017-07-18 by Oracle) This is a maintenance release. The following items were fixed and/or added: