Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virtualbox for openSUSE:Factory 
checked in at 2022-05-30 12:42:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
 and      /work/SRC/openSUSE:Factory/.virtualbox.new.2254 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virtualbox"

Mon May 30 12:42:45 2022 rev:237 rq:979541 version:6.1.34

Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes    2022-05-24 
20:31:29.050925685 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new.2254/virtualbox.changes  
2022-05-30 12:43:21.888343769 +0200
@@ -1,0 +2,6 @@
+Fri May 27 22:27:02 UTC 2022 - Larry Finger <larry.fin...@gmail.com>
+
+- Update fixes_for_kernel_5.18.patch to save and restore FPU status during 
interrupt.
+  The change fixes boo#1199803.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.KpWLXL/_old  2022-05-30 12:43:23.384345760 +0200
+++ /var/tmp/diff_new_pack.KpWLXL/_new  2022-05-30 12:43:23.388345766 +0200
@@ -170,7 +170,6 @@
 Patch143:       vb-6.1.16-modal-dialog-parent.patch
 Patch144:       fixes_for_leap15.4.patch
 Patch145:       fixes_for_kernel_5.18.patch
-#Patch998:       fix_warnings.patch
 Patch999:       virtualbox-fix-ui-background-color.patch
 #
 # Common BuildRequires for both virtualbox and virtualbox-kmp
@@ -296,6 +295,7 @@
 
 
 ##########################################
+
 %package qt
 Summary:        Qt GUI part for %{name}
 Group:          System/Emulators/PC
@@ -314,6 +314,7 @@
 
 
 #########################################
+
 %package websrv
 Summary:        WebService GUI part for %{name}
 Group:          System/Emulators/PC
@@ -327,6 +328,7 @@
 
 
 #########################################
+
 %package guest-x11
 Summary:        VirtualBox X11 drivers for mouse and video
 Group:          System/X11/Servers/XF86_4
@@ -342,6 +344,7 @@
 
 
 ###########################################
+
 %package guest-tools
 Summary:        VirtualBox guest tools
 Group:          System/Emulators/PC
@@ -361,6 +364,7 @@
 
 
 ###########################################
+
 %package -n python3-%{name}
 Summary:        Python bindings for %{name}
 Group:          Development/Libraries/Python
@@ -380,6 +384,7 @@
 
 
 ###########################################
+
 %package devel
 Summary:        Devel files for %{name}
 Group:          Development/Libraries/Other
@@ -394,6 +399,7 @@
 
 
 ###########################################
+
 %package host-source
 Summary:        Source files for %{name} host kernel modules
 Group:          Development/Sources
@@ -425,6 +431,7 @@
 
 
 ###########################################
+
 %package guest-desktop-icons
 Summary:        Icons for guest desktop files
 Group:          System/Emulators/PC
@@ -437,6 +444,7 @@
 
 
 ###########################################
+
 %package vnc
 Summary:        VNC desktop sharing
 Group:          System/Emulators/PC
@@ -513,7 +521,6 @@
 %endif
 %patch143 -p1
 %patch145 -p1
-#%patch998 -p1
 # make VB UI background colors look sane again
 %patch999 -p1
 

++++++ fixes_for_kernel_5.18.patch ++++++
--- /var/tmp/diff_new_pack.KpWLXL/_old  2022-05-30 12:43:23.492345904 +0200
+++ /var/tmp/diff_new_pack.KpWLXL/_new  2022-05-30 12:43:23.492345904 +0200
@@ -20,19 +20,41 @@
 ===================================================================
 --- VirtualBox-6.1.34.orig/src/VBox/HostDrivers/Support/SUPDrv.cpp
 +++ VirtualBox-6.1.34/src/VBox/HostDrivers/Support/SUPDrv.cpp
-@@ -1742,7 +1742,15 @@ static int supdrvIOCtlInnerUnrestricted(
+@@ -98,7 +98,18 @@
+ # endif
+ #endif
  
-             /* execute */
-             pReq->u.Out.cFunctions = RT_ELEMENTS(g_aFunctions);
-+
-+            /* In 5.18.0, 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)
-+             __underlying_memcpy(&pReq->u.Out.aFunctions[0], g_aFunctions, 
sizeof(g_aFunctions));
+-
++#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
-             memcpy(&pReq->u.Out.aFunctions[0], g_aFunctions, 
sizeof(g_aFunctions));
++# 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;
          }
@@ -84,5 +106,196 @@
  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)
 

Reply via email to