From 144e439b1a21f86bfe950e149058f0c5415e60333c71f15fd21bb205ddb956ea Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Sat, 23 Jul 2022 14:10:28 +0000 Subject: [PATCH] Accepting request 990809 from home:lwfinger:branches:Virtualization - Version bump to 6.1.36 released by Oracle July 19 2022 This is a maintenance release. The following items were fixed and/or added: VMM: Fixed possible Linux guest kernel crash when configuring Speculative Store Bypass for a single vCPU VM GUI: In the storage page of the virtual machine settings dialog, fixed a bug which disrupted mouse interaction with the native file selector on KDE NAT: Prevent issue when host resolver incorrectly returned NXDOMAIN for unsupported queries (bug #20977) Audio: General improvements in saved state area Recording: Various fixes for settings handling VGA: Performance improvements for screen updates when VBE banking is used USB: Fixed rare crashes when detaching a USB device ATA: Fixed NT4 guests taking a minute to eject CDs vboximg-mount: Fixed broken write support (bug #20896) SDK: Fixed Python bindings incorrectly trying to convert arbitrary byte data into unicode objects with Python 3, causing exceptions (bug #19740) API: Fixed an issue when virtual USB mass storage devices or virtual USB DVD drives are added while the VM is not running are by default not marked as hot-pluggable API: Initial support for Python 3.10 API: Solaris OS types cleanup Linux and Solaris hosts: Allow to mount shared folder if it is represented as a symlink on a host side (bug #17491) Linux Host and Guest drivers: Introduced initial support for kernels 5.18, 5.19 and RHEL 9.1 (bugs #20914, #20941) Linux Host and Guest drivers: Better support for kernels built with clang compiler (bugs #20425 and #20998) Solaris Guest Additions: General improvements in installer area Solaris Guest Additions: Fixed guest screen resize in VMSVGA graphics configuration Linux and Solaris Guest Additions: Fixed multi-screen handling in VBoxVGA and VBoxSVGA graphics configuration Linux and Solaris Guest Additions: Added support for setting primary screen via VBoxManage Linux and Solaris Guest Additions: Fixed X11 resources leak when resizing guest screens Linux and Solaris Guest Additions: Fixed file descriptor leak when starting a process using guest control (bug #20902) Linux and Solaris Guest Additions: Fixed guest control executing processes as root Linux Guest Additions: Improved guests booting time by preventing kernel modules from being rebuilt when it is not necessary (bug #20502) Windows Guest Additions: Fixed VBoxTray crash on startup in NT4 guests on rare circumstances deleted file "fixes_for_kernel_5.18.patch" - fixed upstream. Fixes CVE-2022-21571) VUL-0: CVE-2022-21571,CVE-2022-21554 - boo#1201720 OBS-URL: https://build.opensuse.org/request/show/990809 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=648 --- UserManual.pdf | 4 +- VirtualBox-6.1.34-patched.tar.bz2 | 3 - VirtualBox-6.1.36-patched.tar.bz2 | 3 + fixes_for_kernel_5.18.patch | 300 ---------------------------- vb-6.1.16-modal-dialog-parent.patch | 63 +++--- vbox-python-py310.patch | 123 ++---------- vbox-vboxadd-init-script.diff | 134 +++++++------ vbox-vboxdrv-init-script.diff | 50 +++-- virtualbox.changes | 35 ++++ virtualbox.spec | 60 +++++- 10 files changed, 227 insertions(+), 548 deletions(-) delete mode 100644 VirtualBox-6.1.34-patched.tar.bz2 create mode 100644 VirtualBox-6.1.36-patched.tar.bz2 delete mode 100644 fixes_for_kernel_5.18.patch diff --git a/UserManual.pdf b/UserManual.pdf index 18b4a66..51278cb 100644 --- a/UserManual.pdf +++ b/UserManual.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfc384986686311cd679833013eba0de42764006178e3914ba6b989c0f3cde6b -size 4990618 +oid sha256:e8623508cbb61b59bb125ea9ae7bff202ab8151194033a1b61bace183b991114 +size 4994227 diff --git a/VirtualBox-6.1.34-patched.tar.bz2 b/VirtualBox-6.1.34-patched.tar.bz2 deleted file mode 100644 index 638165b..0000000 --- a/VirtualBox-6.1.34-patched.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f04b6a3d0540885edabc856f86fe57854b618eb63216d1b5708923650bc78eb -size 120830984 diff --git a/VirtualBox-6.1.36-patched.tar.bz2 b/VirtualBox-6.1.36-patched.tar.bz2 new file mode 100644 index 0000000..bebad75 --- /dev/null +++ b/VirtualBox-6.1.36-patched.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e8bc02a9cf08f6be753a3100a39731217e76e46ae04d6cbfae05eb011aae7c8 +size 120679036 diff --git a/fixes_for_kernel_5.18.patch b/fixes_for_kernel_5.18.patch deleted file mode 100644 index 97e913d..0000000 --- a/fixes_for_kernel_5.18.patch +++ /dev/null @@ -1,300 +0,0 @@ -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c -@@ -2311,7 +2311,13 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS - vboxNetFltDumpPacket(pSG, true, "host", (fDst & INTNETTRUNKDIR_WIRE) ? 0 : 1); - Log6(("vboxNetFltPortOsXmit: pBuf->cb dump:\n%.*Rhxd\n", sizeof(pBuf->cb), pBuf->cb)); - Log6(("vboxNetFltPortOsXmit: netif_rx_ni(%p)\n", pBuf)); -+#if RTLNX_VER_MIN(5,18,0) -+ local_bh_disable(); -+ err = netif_rx(pBuf); -+ local_bh_enable(); -+#else - err = netif_rx_ni(pBuf); -+#endif - if (err) - rc = RTErrConvertFromErrno(err); - } -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/SUPDrv.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/SUPDrv.cpp -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/SUPDrv.cpp -@@ -98,7 +98,18 @@ - # endif - #endif - -- -+#if defined(RT_OS_LINUX) && !defined(__NO_FORTIFY) && defined(__OPTIMIZE__) && defined(CONFIG_FORTIFY_SOURCE) -+/* In Linux 5.18-rc1, memcpy became a wrapper which does fortify checks -+ * before triggering __underlying_memcpy() call. We do not pass these checks here, -+ * so bypass them for now. */ -+# if RTLNX_VER_MIN(5,18,0) -+# define SUPDRV_MEMCPY __underlying_memcpy -+# else -+# define SUPDRV_MEMCPY memcpy -+# endif -+#else -+# define SUPDRV_MEMCPY memcpy -+#endif - /* - * Logging assignments: - * Log - useful stuff, like failures. -@@ -267,6 +278,8 @@ static SUPFUNC g_aFunctions[] = - SUPEXP_STK_BACK( 2, SUPR0ChangeCR4), - SUPEXP_STK_BACK( 1, SUPR0EnableVTx), - SUPEXP_STK_BACK( 0, SUPR0SuspendVTxOnCpu), -+ SUPEXP_STK_OKAY( 1, SUPR0FpuBegin), -+ SUPEXP_STK_OKAY( 1, SUPR0FpuEnd), - SUPEXP_STK_BACK( 1, SUPR0ResumeVTxOnCpu), - SUPEXP_STK_OKAY( 1, SUPR0GetCurrentGdtRw), - SUPEXP_STK_OKAY( 0, SUPR0GetKernelFeatures), -@@ -1742,7 +1755,7 @@ static int supdrvIOCtlInnerUnrestricted( - - /* execute */ - pReq->u.Out.cFunctions = RT_ELEMENTS(g_aFunctions); -- memcpy(&pReq->u.Out.aFunctions[0], g_aFunctions, sizeof(g_aFunctions)); -+ SUPDRV_MEMCPY(&pReq->u.Out.aFunctions[0], g_aFunctions, sizeof(g_aFunctions)); - pReq->Hdr.rc = VINF_SUCCESS; - return 0; - } -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/SUPLib.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/SUPLib.cpp -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/SUPLib.cpp -@@ -505,7 +505,7 @@ static int supInitFake(PSUPDRVSESSION *p - if (g_pSupFunctions) - { - g_pSupFunctions->u.Out.cFunctions = RT_ELEMENTS(s_aFakeFunctions); -- memcpy(&g_pSupFunctions->u.Out.aFunctions[0], &s_aFakeFunctions[0], sizeof(s_aFakeFunctions)); -+ memcpy(&g_pSupFunctions->u.Out.aFunctions, &s_aFakeFunctions[0], sizeof(s_aFakeFunctions)); - g_pSession = (PSUPDRVSESSION)(void *)g_pSupFunctions; - if (ppSession) - *ppSession = g_pSession; -Index: VirtualBox-6.1.34/src/VBox/Additions/linux/sharedfolders/regops.c -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/Additions/linux/sharedfolders/regops.c -+++ VirtualBox-6.1.34/src/VBox/Additions/linux/sharedfolders/regops.c -@@ -3823,7 +3823,9 @@ struct address_space_operations vbsf_reg - .readpage = vbsf_readpage, - .writepage = vbsf_writepage, - /** @todo Need .writepages if we want msync performance... */ --#if RTLNX_VER_MIN(2,5,12) -+#if RTLNX_VER_MIN(5,18,0) -+ .dirty_folio = block_dirty_folio, -+#elif RTLNX_VER_MIN(2,5,12) - .set_page_dirty = __set_page_dirty_buffers, - #endif - #if RTLNX_VER_MIN(5,14,0) -Index: VirtualBox-6.1.34/Config.kmk -=================================================================== ---- VirtualBox-6.1.34.orig/Config.kmk -+++ VirtualBox-6.1.34/Config.kmk -@@ -4502,11 +4502,14 @@ ifeq ($(VBOX_LDR_FMT),elf) - TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) - TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) \ - $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ -- $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) -+ $(VBOX_GCC_fno-stack-protector) -fno-common -ffreestanding $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) - TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) \ - $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ - $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ - -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) -+ if $(VBOX_GCC_VERSION_CC) >= 40500 # 4.1.2 complains, 4.5.2 is okay, didn't check which version inbetween made it okay with g++. -+ TEMPLATE_VBoxR0_CXXFLAGS += -ffreestanding -+ endif - TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding - TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables - TEMPLATE_VBoxR0_CXXFLAGS.freebsd = -ffreestanding -Index: VirtualBox-6.1.34/include/VBox/sup.h -=================================================================== ---- VirtualBox-6.1.34.orig/include/VBox/sup.h -+++ VirtualBox-6.1.34/include/VBox/sup.h -@@ -2142,7 +2142,25 @@ RT_IPRT_FORMAT_ATTR(1, 2) SUPR0Printf(co - */ - SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void); - --/** @copydoc RTLogGetDefaultInstanceEx -+/** -+ * Notification from R0 VMM prior to loading the guest-FPU register state. -+ * -+ * @returns Whether the host-FPU register state has been saved by the host kernel. -+ * @param fCtxHook Whether thread-context hooks are enabled. -+ * -+ * @remarks Called with preemption disabled. -+ */ -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook); -+ -+/** -+ * Notification from R0 VMM prior to saving the guest-FPU register state (and -+ * potentially restoring the host-FPU register state) in ring-0. -+ * -+ * @param fCtxHook Whether thread-context hooks are enabled. -+ * -+ * @remarks Called with preemption disabled. -+ */ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook); /** @copydoc RTLogGetDefaultInstanceEx - * @remarks To allow overriding RTLogGetDefaultInstanceEx locally. */ - SUPR0DECL(struct RTLOGGER *) SUPR0GetDefaultLogInstanceEx(uint32_t fFlagsAndGroup); - /** @copydoc RTLogRelGetDefaultInstanceEx -Index: VirtualBox-6.1.34/src/VBox/VMM/VMMR0/CPUMR0.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/VMM/VMMR0/CPUMR0.cpp -+++ VirtualBox-6.1.34/src/VBox/VMM/VMMR0/CPUMR0.cpp -@@ -440,6 +440,8 @@ VMMR0_INT_DECL(int) CPUMR0LoadGuestFPU(P - Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST)); - Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_SYNC_FPU_STATE)); - -+ /* Notify the support driver prior to loading the guest-FPU register state. */ -+ SUPR0FpuBegin(false /* unused */); - if (!pVM->cpum.s.HostFeatures.fLeakyFxSR) - { - Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)); -@@ -485,6 +487,8 @@ VMMR0_INT_DECL(bool) CPUMR0FpuStateMaybe - if (pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST)) - { - fSavedGuest = RT_BOOL(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST); -+ /* Notify the support driver prior to loading the host-FPU register state. */ -+ SUPR0FpuEnd(false /* unused */); - if (!(pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)) - cpumR0SaveGuestRestoreHostFPUState(&pVCpu->cpum.s); - else -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp -@@ -2002,6 +2002,17 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - } - - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+ return false; -+} -+ -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+} - /* - * - * org_virtualbox_SupDrv -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c -@@ -640,3 +640,15 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - return 0; - } - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+ return false; -+} -+ -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+} -+ -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp -@@ -541,3 +541,15 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - return 0; - } - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+ return false; -+} -+ -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+} -+ -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp -@@ -2703,6 +2703,16 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - return 0; - } - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+ return false; -+} -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+} - - SUPR0DECL(int) SUPR0IoCtlSetupForHandle(PSUPDRVSESSION pSession, intptr_t hHandle, uint32_t fFlags, PSUPR0IOCTLCTX *ppCtx) - { -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c -@@ -1309,3 +1309,15 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - return 0; - } - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+ return false; -+} -+ -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+} -+ -Index: VirtualBox-6.1.34/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -=================================================================== ---- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -+++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -@@ -1454,6 +1454,31 @@ SUPR0DECL(uint32_t) SUPR0GetKernelFeatur - } - - -+SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+#if RTLNX_VER_MIN(5,18,0) -+ kernel_fpu_begin(); -+ /* if (fCtxHook) */ -+ preempt_enable(); /* HACK ALERT! undo the implicit preempt_disable() in kernel_fpu_begin(). */ -+ return true; -+#else -+ return false; -+#endif -+} -+ -+ -+SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) -+{ -+ RT_NOREF(fCtxHook); -+#if RTLNX_VER_MIN(5,18,0) -+ /* if (fCtxHook) */ -+ preempt_disable(); /* HACK ALERT! undo the implicit preempt_enable() in SUPR0FpuBegin(). */ -+ kernel_fpu_end(); -+#endif -+} -+ -+ - int VBOXCALL supdrvOSGetCurrentGdtRw(RTHCUINTPTR *pGdtRw) - { - #if RTLNX_VER_MIN(4,12,0) diff --git a/vb-6.1.16-modal-dialog-parent.patch b/vb-6.1.16-modal-dialog-parent.patch index a147ac2..cb05845 100644 --- a/vb-6.1.16-modal-dialog-parent.patch +++ b/vb-6.1.16-modal-dialog-parent.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp @@ -16,6 +16,7 @@ */ @@ -19,10 +19,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlo QString strFilePath; if (!fileNames.isEmpty()) -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp @@ -397,10 +397,10 @@ void UIFilePathSelector::selectPath() switch (m_enmMode) { @@ -45,10 +45,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSel } /* Do nothing if nothing chosen: */ -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp @@ -232,16 +232,16 @@ void UIEmptyFilePathSelector::choose() switch (mMode) { @@ -69,11 +69,11 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePa } if (path.isEmpty()) return; -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp -@@ -438,7 +438,7 @@ void UIMediumSelector::sltButtonLeaveEmp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp +@@ -441,7 +441,7 @@ void UIMediumSelector::sltButtonLeaveEmp void UIMediumSelector::sltAddMedium() { @@ -82,10 +82,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelect if (uMediumID.isNull()) return; repopulateTreeWidget(); -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp @@ -3197,7 +3197,7 @@ void UICommon::updateMachineStorage(cons } else if (target.type == UIMediumTarget::UIMediumTargetType_WithFileDialog) @@ -95,10 +95,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp strMachineFolder, false /* fUseLastFolder */); } else if(target.type == UIMediumTarget::UIMediumTargetType_CreateAdHocVISO) -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp @@ -486,7 +486,7 @@ void UIMediumManagerWidget::sltHandleMac void UIMediumManagerWidget::sltAddMedium() { @@ -108,23 +108,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManage strDefaultMachineFolder, true /* use most recent medium folder */); } -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp -@@ -3958,7 +3958,7 @@ void UIMachineSettingsStorage::sltChoose - { - const QString strMachineFolder(QFileInfo(m_strMachineSettingsFilePath).absolutePath()); - -- QUuid uMediumId = uiCommon().openMediumWithFileOpenDialog(m_pMediumIdHolder->type(), this, strMachineFolder); -+ QUuid uMediumId = uiCommon().openMediumWithFileOpenDialog(m_pMediumIdHolder->type(), QApplication::activeWindow(), strMachineFolder); - if (uMediumId.isNull()) - return; - m_pMediumIdHolder->setId(uMediumId); -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp -=================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp @@ -1176,7 +1176,7 @@ void UIExtraDataManagerWindow::sltSave() /* Compose initial file-name: */ const QString strInitialFileName = QDir(uiCommon().homeFolder()).absoluteFilePath(QString("%1_ExtraData.xml").arg(currentChooserName())); @@ -143,10 +130,10 @@ Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraData "Choose file to load extra-data from.."); /* Make sure file-name was chosen: */ if (strFileName.isEmpty()) -Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp +Index: VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp =================================================================== ---- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp -+++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp +--- VirtualBox-6.1.36.orig/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp ++++ VirtualBox-6.1.36/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp @@ -78,7 +78,7 @@ void UITextEditor::retranslateUi() void UITextEditor::open() diff --git a/vbox-python-py310.patch b/vbox-python-py310.patch index e167c9a..0ab5c17 100644 --- a/vbox-python-py310.patch +++ b/vbox-python-py310.patch @@ -1,70 +1,13 @@ # https://www.virtualbox.org/changeset/90537/vbox -Index: trunk/configure +Index: VirtualBox-6.1.36/src/libs/xpcom18a4/python/Makefile.kmk =================================================================== ---- trunk/configure (revision 90536) -+++ trunk/configure (revision 90537) -@@ -3,7 +3,7 @@ - # libraries VBox OSE depends on. - - # --# Copyright (C) 2006-2020 Oracle Corporation -+# Copyright (C) 2006-2021 Oracle Corporation - # - # This file is part of VirtualBox Open Source Edition (OSE), as - # available from http://www.virtualbox.org. This file is free software; -@@ -2043,7 +2043,7 @@ - } - EOF - found= -- SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m" -+ SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m python3.10 python3.10m" - for p in $PYTHONDIR; do - for d in $SUPPYTHONLIBS; do - for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do -Index: trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp -=================================================================== ---- trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp (revision 90536) -+++ trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp (revision 90537) -@@ -84,7 +84,11 @@ - # define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX) - # endif - # ifdef VBOX_PYXPCOM_VERSIONED --# if PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 -+# if PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000 -+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_10") -+# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_10) -+ -+# elif PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - # define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_9") - # define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_9) - -Index: trunk/src/libs/xpcom18a4/python/Makefile.kmk -=================================================================== ---- trunk/src/libs/xpcom18a4/python/Makefile.kmk (revision 90536) -+++ trunk/src/libs/xpcom18a4/python/Makefile.kmk (revision 90537) -@@ -4,7 +4,7 @@ - # - - # --# Copyright (C) 2009-2017 Oracle Corporation -+# Copyright (C) 2009-2021 Oracle Corporation - # - # This file is part of VirtualBox Open Source Edition (OSE), as - # available from http://www.virtualbox.org. This file is free software; -@@ -20,7 +20,7 @@ - - # - # List of supported Python versions, defining a number of --# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|DEF]_[INC|LIB] variables -+# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|DEF]_[INC|LIB] variables - # which get picked up below. - # - ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script. -@@ -646,6 +646,52 @@ +--- VirtualBox-6.1.36.orig/src/libs/xpcom18a4/python/Makefile.kmk ++++ VirtualBox-6.1.36/src/libs/xpcom18a4/python/Makefile.kmk +@@ -625,6 +625,52 @@ VBoxPython3_10m_x86_LIBS = $(VBOX_ endif endif - + +ifdef VBOX_PYTHON310_INC +# +# Python 3.10 version @@ -114,56 +57,16 @@ Index: trunk/src/libs/xpcom18a4/python/Makefile.kmk ifdef VBOX_PYTHONDEF_INC # # Python without versioning -@@ -730,4 +776,3 @@ - - - include $(FILE_KBUILD_SUB_FOOTER) -- -Index: trunk/src/libs/xpcom18a4/python/gen_python_deps.py +Index: VirtualBox-6.1.36/src/libs/xpcom18a4/python/src/PyXPCOM.h =================================================================== ---- trunk/src/libs/xpcom18a4/python/gen_python_deps.py (revision 90536) -+++ trunk/src/libs/xpcom18a4/python/gen_python_deps.py (revision 90537) -@@ -1,7 +1,7 @@ - #!/usr/bin/python - - """ --Copyright (C) 2009-2016 Oracle Corporation -+Copyright (C) 2009-2021 Oracle Corporation - - This file is part of VirtualBox Open Source Edition (OSE), as - available from http://www.virtualbox.org. This file is free software; -@@ -16,7 +16,7 @@ - import os,sys - from distutils.version import StrictVersion - --versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m" ] -+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m", "3.10", "3.10m" ] - prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"] - known = {} - -# https://www.virtualbox.org/changeset/86623/vbox - -Index: trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h -=================================================================== ---- trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h (revision 86622) -+++ trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h (revision 86623) -@@ -137,12 +137,14 @@ +--- VirtualBox-6.1.36.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h ++++ VirtualBox-6.1.36/src/libs/xpcom18a4/python/src/PyXPCOM.h +@@ -137,7 +137,7 @@ inline PyObject *PyBool_FromLong(long ok # define PyInt_Check(o) PyLong_Check(o) # define PyInt_AsLong(o) PyLong_AsLong(o) # define PyNumber_Int(o) PyNumber_Long(o) --# ifndef PyUnicode_AsUTF8 --# define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o) +-# if PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ +# if !defined(Py_LIMITED_API) && PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ -+# ifndef PyUnicode_AsUTF8 -+# define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o) -+# endif -+# ifndef PyUnicode_AsUTF8AndSize -+# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s) -+# endif - # endif --# ifndef PyUnicode_AsUTF8AndSize --# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s) --# endif - typedef struct PyMethodChain - { - PyMethodDef *methods; + # ifndef PyUnicode_AsUTF8 + # define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o) + # endif diff --git a/vbox-vboxadd-init-script.diff b/vbox-vboxadd-init-script.diff index dba9135..2d2e7fe 100644 --- a/vbox-vboxadd-init-script.diff +++ b/vbox-vboxadd-init-script.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-6.1.36/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh +--- VirtualBox-6.1.36.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-6.1.36/src/VBox/Additions/linux/installer/vboxadd.sh @@ -26,11 +26,14 @@ # Provides: vboxadd # Required-Start: @@ -36,10 +36,10 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" BUILDINTMP="$MODULE_SRC/build_in_tmp" - - running_vboxguest() - { - lsmod | grep -q "vboxguest[^_-]" -@@ -177,12 +171,6 @@ do_vboxguest_non_udev() + # Attempt to detect VirtualBox Guest Additions version and revision information. + VBOXCLIENT="${INSTALL_DIR}/bin/VBoxClient" + VBOX_VERSION="`"$VBOXCLIENT" --version | cut -d r -f1`" +@@ -184,12 +178,6 @@ do_vboxguest_non_udev() fail "Cannot create device $dev with major $maj and minor $min" } fi @@ -52,7 +52,7 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh if [ ! -c $userdev ]; then maj=10 -@@ -193,12 +181,6 @@ do_vboxguest_non_udev() +@@ -200,12 +188,6 @@ do_vboxguest_non_udev() rmmod vboxguest 2>/dev/null fail "Cannot create device $userdev with major $maj and minor $min" } @@ -65,7 +65,7 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh fi fi } -@@ -260,7 +242,7 @@ cleanup_modules() +@@ -267,7 +249,7 @@ cleanup_modules() done if test -z "${keep}"; then rm -rf /lib/modules/"${KERN_VER}" @@ -74,7 +74,7 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh fi done for i in ${OLDMODULES}; do -@@ -359,9 +341,9 @@ create_udev_rule() +@@ -376,9 +358,9 @@ create_udev_rule() udevcontrol reload_rules >/dev/null 2>&1 || true fi } @@ -87,44 +87,48 @@ Index: VirtualBox-6.0.10/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 -@@ -406,47 +388,15 @@ shared_folder_setup() - # setup_script - setup() - { -- # chcon is needed on old Fedora/Redhat systems. No one remembers which. -- test ! -e /etc/selinux/config || -- chcon -t bin_t "$BUILDINTMP" 2>/dev/null -- -- if test -z "$INSTALL_NO_MODULE_BUILDS"; then -- info "Building the VirtualBox Guest Additions kernel modules. This may take a while." -- info "To build modules for other installed kernels, run" -- info " /sbin/rcvboxadd quicksetup " -- info "or" -- info " /sbin/rcvboxadd quicksetup all" -- if test -d /lib/modules/"$TARGET_VER"/build; then -- setup_modules "$TARGET_VER" -- depmod -- else -- info "Kernel headers not found for target kernel $TARGET_VER. \ --Please install them and execute -- /sbin/rcvboxadd setup" -- fi -- fi -- create_vbox_user -- create_udev_rule -- test -n "${INSTALL_NO_MODULE_BUILDS}" || create_module_rebuild_script -- shared_folder_setup -- if running_vboxguest || running_vboxadd; then -- info "Running kernel modules will not be replaced until the system is restarted" -- fi -- -- # Put the X.Org driver in place. This is harmless if it is not needed. -- # Also set up the OpenGL library. -- myerr=`"${INSTALL_DIR}/init/vboxadd-x11" setup 2>&1` +@@ -497,25 +479,18 @@ setup() + chcon -t bin_t "$BUILDINTMP" 2>/dev/null + + if test -z "$INSTALL_NO_MODULE_BUILDS"; then +- # Check whether modules setup is already complete for currently running kernel. +- # Prevent unnecessary rebuilding in order to speed up booting process. +- if test "$(setup_complete)" = "1"; then +- info "VirtualBox Guest Additions kernel modules $VBOX_VERSION $VBOX_REVISION are" +- info "already available for kernel $TARGET_VER and do not require to be rebuilt." ++ info "Building the VirtualBox Guest Additions kernel modules. This may take a while." ++ info "To build modules for other installed kernels, run" ++ info " /sbin/rcvboxadd quicksetup " ++ info "or" ++ info " /sbin/rcvboxadd quicksetup all" ++ if test -d /lib/modules/"$TARGET_VER"/build; then ++ setup_modules "$TARGET_VER" ++ depmod + else +- info "Building the VirtualBox Guest Additions kernel modules. This may take a while." +- info "To build modules for other installed kernels, run" +- info " /sbin/rcvboxadd quicksetup " +- info "or" +- info " /sbin/rcvboxadd quicksetup all" +- if test -d /lib/modules/"$TARGET_VER"/build; then +- setup_modules "$TARGET_VER" +- depmod +- else +- info "Kernel headers not found for target kernel $TARGET_VER. \ ++ info "Kernel headers not found for target kernel $TARGET_VER. \ + Please install them and execute + /sbin/rcvboxadd setup" +- fi + fi + fi + create_vbox_user +@@ -529,17 +504,14 @@ Please install them and execute + # Put the X.Org driver in place. This is harmless if it is not needed. + # Also set up the OpenGL library. + myerr=`"${INSTALL_DIR}/init/vboxadd-x11" setup 2>&1` - test -z "${myerr}" || log "${myerr}" - - return 0 -+ begin "Recompiling VirtualBox kernel module, NOT. It has been packaged." + succ_msg } @@ -139,7 +143,7 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh depmod # Remove old module sources -@@ -456,12 +406,13 @@ cleanup() +@@ -549,12 +521,13 @@ cleanup() fi # Clean-up X11-related bits @@ -157,7 +161,7 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh fi rm -f /sbin/mount.vboxsf 2>/dev/null rm -f /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null -@@ -494,7 +445,7 @@ start() +@@ -587,7 +560,7 @@ start() rm -f $userdev || { fail "Cannot remove $userdev" } @@ -166,10 +170,10 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd.sh fail "modprobe vboxguest failed" case "$no_udev" in 1) sleep .5;; -Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd-service.sh +Index: VirtualBox-6.1.36/src/VBox/Additions/linux/installer/vboxadd-service.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh -+++ VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd-service.sh +--- VirtualBox-6.1.36.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh ++++ VirtualBox-6.1.36/src/VBox/Additions/linux/installer/vboxadd-service.sh @@ -26,7 +26,7 @@ # Provides: vboxadd-service # Required-Start: vboxadd @@ -179,10 +183,10 @@ Index: VirtualBox-6.0.10/src/VBox/Additions/linux/installer/vboxadd-service.sh # Default-Stop: 0 1 6 # X-Conflicts-With: systemd-timesyncd.service # Description: VirtualBox Additions Service -Index: VirtualBox-6.0.10/src/VBox/Installer/linux/vboxautostart-service.sh +Index: VirtualBox-6.1.36/src/VBox/Installer/linux/vboxautostart-service.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/Installer/linux/vboxautostart-service.sh -+++ VirtualBox-6.0.10/src/VBox/Installer/linux/vboxautostart-service.sh +--- VirtualBox-6.1.36.orig/src/VBox/Installer/linux/vboxautostart-service.sh ++++ VirtualBox-6.1.36/src/VBox/Installer/linux/vboxautostart-service.sh @@ -23,7 +23,7 @@ # Provides: vboxautostart-service # Required-Start: vboxdrv @@ -192,10 +196,10 @@ Index: VirtualBox-6.0.10/src/VBox/Installer/linux/vboxautostart-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO -Index: VirtualBox-6.0.10/src/VBox/Installer/linux/vboxballoonctrl-service.sh +Index: VirtualBox-6.1.36/src/VBox/Installer/linux/vboxballoonctrl-service.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh -+++ VirtualBox-6.0.10/src/VBox/Installer/linux/vboxballoonctrl-service.sh +--- VirtualBox-6.1.36.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh ++++ VirtualBox-6.1.36/src/VBox/Installer/linux/vboxballoonctrl-service.sh @@ -23,7 +23,7 @@ # Provides: vboxballoonctrl-service # Required-Start: vboxdrv @@ -205,10 +209,10 @@ Index: VirtualBox-6.0.10/src/VBox/Installer/linux/vboxballoonctrl-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox watchdog daemon ### END INIT INFO -Index: VirtualBox-6.0.10/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +Index: VirtualBox-6.1.36/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh -+++ VirtualBox-6.0.10/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +--- VirtualBox-6.1.36.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh ++++ VirtualBox-6.1.36/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh @@ -31,7 +31,7 @@ # Provides: testboxscript-service # Required-Start: $network @@ -218,10 +222,10 @@ Index: VirtualBox-6.0.10/src/VBox/ValidationKit/testboxscript/linux/testboxscrip # Default-Stop: 0 1 6 # Description: TestBoxScript service ### END INIT INFO -Index: VirtualBox-6.0.10/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +Index: VirtualBox-6.1.36/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh -+++ VirtualBox-6.0.10/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +--- VirtualBox-6.1.36.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh ++++ VirtualBox-6.1.36/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network @@ -231,10 +235,10 @@ Index: VirtualBox-6.0.10/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO -Index: VirtualBox-6.0.10/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +Index: VirtualBox-6.1.36/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh =================================================================== ---- VirtualBox-6.0.10.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh -+++ VirtualBox-6.0.10/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +--- VirtualBox-6.1.36.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh ++++ VirtualBox-6.1.36/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network diff --git a/vbox-vboxdrv-init-script.diff b/vbox-vboxdrv-init-script.diff index 1fb2180..66a2d6c 100644 --- a/vbox-vboxdrv-init-script.diff +++ b/vbox-vboxdrv-init-script.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-6.1.0_RC1/src/VBox/Installer/linux/vboxdrv.sh +Index: VirtualBox-6.1.36/src/VBox/Installer/linux/vboxdrv.sh =================================================================== ---- VirtualBox-6.1.0_RC1.orig/src/VBox/Installer/linux/vboxdrv.sh -+++ VirtualBox-6.1.0_RC1/src/VBox/Installer/linux/vboxdrv.sh +--- VirtualBox-6.1.36.orig/src/VBox/Installer/linux/vboxdrv.sh ++++ VirtualBox-6.1.36/src/VBox/Installer/linux/vboxdrv.sh @@ -19,11 +19,12 @@ # ### BEGIN INIT INFO @@ -19,7 +19,7 @@ Index: VirtualBox-6.1.0_RC1/src/VBox/Installer/linux/vboxdrv.sh ### END INIT INFO ## @todo This file duplicates a lot of script with vboxadd.sh. When making -@@ -315,13 +316,6 @@ See the documenatation for your Linux di +@@ -393,13 +394,6 @@ See the documentation for your Linux dis fi fi # ensure permissions @@ -33,29 +33,28 @@ Index: VirtualBox-6.1.0_RC1/src/VBox/Installer/linux/vboxdrv.sh if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why" fi -@@ -451,50 +445,8 @@ cleanup() - # setup_script - setup() +@@ -531,17 +525,6 @@ setup() { -- begin_msg "Building VirtualBox kernel modules" console -- log "Building the main VirtualBox module." -- if ! myerr=`$BUILDINTMP \ -- --save-module-symvers /tmp/vboxdrv-Module.symvers \ -- --module-source "$MODULE_SRC/vboxdrv" \ -- --no-print-directory install 2>&1`; then -- "${INSTALL_DIR}/check_module_dependencies.sh" || exit 1 -- log "Error building the module:" -- module_build_log "$myerr" -- failure "Look at $LOG to find out what went wrong" + begin_msg "Building VirtualBox kernel modules" console + log "Building the main VirtualBox module." +- +- # Detect if kernel was built with clang. +- unset LLVM +- vbox_cc_is_clang=$(/lib/modules/"$KERN_VER"/build/scripts/config \ +- --file /lib/modules/"$KERN_VER"/build/.config \ +- --state CONFIG_CC_IS_CLANG 2>/dev/null) +- if test "${vbox_cc_is_clang}" = "y"; then +- log "Using clang compiler." +- export LLVM=1 - fi -- log "Building the net filter module." -- if ! myerr=`$BUILDINTMP \ -- --use-module-symvers /tmp/vboxdrv-Module.symvers \ -- --module-source "$MODULE_SRC/vboxnetflt" \ -- --no-print-directory install 2>&1`; then -- log "Error building the module:" -- module_build_log "$myerr" -- failure "Look at $LOG to find out what went wrong" +- + if ! myerr=`$BUILDINTMP \ + --save-module-symvers /tmp/vboxdrv-Module.symvers \ + --module-source "$MODULE_SRC/vboxdrv" \ +@@ -559,31 +542,7 @@ setup() + log "Error building the module:" + module_build_log "$myerr" + failure "Look at $LOG to find out what went wrong" - fi - log "Building the net adaptor module." - if ! myerr=`$BUILDINTMP \ @@ -81,7 +80,6 @@ Index: VirtualBox-6.1.0_RC1/src/VBox/Installer/linux/vboxdrv.sh - depmod -a - sync - succ_msg "VirtualBox kernel modules built" -+# Try to build the host kernel modules in case prepackaging has failed + /sbin/vboxconfig # Secure boot on Ubuntu and Debian. if test -n "$HAVE_SEC_BOOT" && diff --git a/virtualbox.changes b/virtualbox.changes index a733d12..5392166 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Thu Jul 21 19:52:13 UTC 2022 - Larry Finger + +- Version bump to 6.1.36 released by Oracle July 19 2022 + This is a maintenance release. The following items were fixed and/or added: + + VMM: Fixed possible Linux guest kernel crash when configuring Speculative Store Bypass for a single vCPU VM + GUI: In the storage page of the virtual machine settings dialog, fixed a bug which disrupted mouse interaction with the native file selector on KDE + NAT: Prevent issue when host resolver incorrectly returned NXDOMAIN for unsupported queries (bug #20977) + Audio: General improvements in saved state area + Recording: Various fixes for settings handling + VGA: Performance improvements for screen updates when VBE banking is used + USB: Fixed rare crashes when detaching a USB device + ATA: Fixed NT4 guests taking a minute to eject CDs + vboximg-mount: Fixed broken write support (bug #20896) + SDK: Fixed Python bindings incorrectly trying to convert arbitrary byte data into unicode objects with Python 3, causing exceptions (bug #19740) + API: Fixed an issue when virtual USB mass storage devices or virtual USB DVD drives are added while the VM is not running are by default not marked as hot-pluggable + API: Initial support for Python 3.10 + API: Solaris OS types cleanup + Linux and Solaris hosts: Allow to mount shared folder if it is represented as a symlink on a host side (bug #17491) + Linux Host and Guest drivers: Introduced initial support for kernels 5.18, 5.19 and RHEL 9.1 (bugs #20914, #20941) + Linux Host and Guest drivers: Better support for kernels built with clang compiler (bugs #20425 and #20998) + Solaris Guest Additions: General improvements in installer area + Solaris Guest Additions: Fixed guest screen resize in VMSVGA graphics configuration + Linux and Solaris Guest Additions: Fixed multi-screen handling in VBoxVGA and VBoxSVGA graphics configuration + Linux and Solaris Guest Additions: Added support for setting primary screen via VBoxManage + Linux and Solaris Guest Additions: Fixed X11 resources leak when resizing guest screens + Linux and Solaris Guest Additions: Fixed file descriptor leak when starting a process using guest control (bug #20902) + Linux and Solaris Guest Additions: Fixed guest control executing processes as root + Linux Guest Additions: Improved guests booting time by preventing kernel modules from being rebuilt when it is not necessary (bug #20502) + Windows Guest Additions: Fixed VBoxTray crash on startup in NT4 guests on rare circumstances + + deleted file "fixes_for_kernel_5.18.patch" - fixed upstream. + Fixes CVE-2022-21571) VUL-0: CVE-2022-21571,CVE-2022-21554 - boo#1201720 + ------------------------------------------------------------------- Tue Jun 21 20:17:02 UTC 2022 - Larry Finger diff --git a/virtualbox.spec b/virtualbox.spec index 1dd1799..4874f7f 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -46,13 +46,13 @@ # With 32-bit builds, the job limit cannot be larger than 2, otherwise the build runs out of memory. # For 64-bit builds, no memory limit is reached when more jobs are run, but the builds crash with strange errors. # For the above reasons, limit the number of jobs to 2. -%define _smp_mflags -j2 +#%define _smp_mflags -j2 %define _vbox_instdir %{_prefix}/lib/virtualbox %define _udevrulesdir %{_prefix}/lib/udev/rules.d %endif # ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!! Name: virtualbox%{?dash}%{?name_suffix} -Version: 6.1.34 +Version: 6.1.36 Release: 0 Summary: %{package_summary} # FIXME: use correct group or remove it, see "https://en.opensuse.org/openSUSE:Package_group_guidelines" @@ -169,7 +169,6 @@ Patch137: handle_gsoap_208103.patch Patch142: fixes_for_leap15.3.patch Patch143: vb-6.1.16-modal-dialog-parent.patch Patch144: fixes_for_leap15.4.patch -Patch145: fixes_for_kernel_5.18.patch Patch999: virtualbox-fix-ui-background-color.patch # # Common BuildRequires for both virtualbox and virtualbox-kmp @@ -297,6 +296,12 @@ the terms of the GNU Public License (GPL). + + + + + + ########################################## %package qt Summary: Qt GUI part for %{name} @@ -317,6 +322,12 @@ This package contains the code for the GUI used to control VMs. + + + + + + ######################################### %package websrv Summary: WebService GUI part for %{name} @@ -332,6 +343,12 @@ The VirtualBox web server is used to control headless VMs using a browser. + + + + + + ######################################### %package guest-x11 Summary: VirtualBox X11 drivers for mouse and video @@ -349,6 +366,12 @@ This package contains X11 guest utilities and X11 guest mouse and video drivers + + + + + + ########################################### %package guest-tools Summary: VirtualBox guest tools @@ -370,6 +393,12 @@ VirtualBox guest addition tools. + + + + + + ########################################### %package -n python3-%{name} Summary: Python bindings for %{name} @@ -391,6 +420,12 @@ Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package. + + + + + + ########################################### %package devel Summary: Devel files for %{name} @@ -407,6 +442,12 @@ Development file for %{name} + + + + + + ########################################### %package host-source Summary: Source files for %{name} host kernel modules @@ -440,6 +481,12 @@ sudo %{_sbindir}/vboxguestconfig + + + + + + ########################################### %package guest-desktop-icons Summary: Icons for guest desktop files @@ -454,6 +501,12 @@ This package contains icons for guest desktop files that were created on the des + + + + + + ########################################### %package vnc Summary: VNC desktop sharing @@ -530,7 +583,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v %patch144 -p1 %endif %patch143 -p1 -%patch145 -p1 # make VB UI background colors look sane again %patch999 -p1