1
0
forked from pool/virtualbox
virtualbox/fixes_for_leap15.2.patch
Larry Finger 4c18589b52 Accepting request 1084796 from home:larryr:branches:Virtualization
- VirtualBox 7.0.8 (released April 18 2023)
This is a maintenance release. The following items were fixed and/or added:
    VMM: Introduced general improvements in nested visualization area
    GUI: Brought back Restore current snapshot checkbox of Close VM dialog (bugs #21189, #21491)
    GUI: Fixes and validation for VM settings USB filters editor, filter port value is now properly saved/restored
    GUI: Fixes for VM name and OS type embedded editors of Details pane
    GUI: Cloud related wizards should now propose enabled profiles before disabled
    Oracle VM VirtualBox Extension Pack: Fixed shipping the cryptographic support module for full VM encryption
    E1000: Fixed possible guru meditation when changing network attachments (bug #21488)
    virtio-net: Follow up fixes for FreeBSD 12.3 and pfSense 2.6.0 (bug #21201)
    3D: Fixed various graphics issues with Windows 7 guests (bugs #21129, #21196, #21208, #21521)
    Main/UefiVariableStore: Added API to add signatures to the MOK list (Machine Owner Key)
    VBoxManage: Introduced modifynvram enrollmok sub-command to enroll Machine Owner Key into NVRAM, so Linux guest kernel can pick it up in order to verify signature of modules signed with this key
    Guest Control/Main: Fixed deleting files via built-in toolbox
    Linux host: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/vbox/vbox.cfg, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature
    Linux Guest Additions and host Installer: Improved detection if system is running systemd as the init process
    Linux Guest Additions and host drivers: Introduce initial support for kernel 6.3
    Linux Guest Additions: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/virtualbox-guest-additions.conf, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature
    Linux Guest Additions: Added experimental support for kernel modules and user services reloading in the end of installation process, thus guest system reboot after Guest Additions (7.0.8 and newer) upgrade is no longer required in general case
    Linux Guest Additions: Fixed vboxvideo build issue with RHEL 8.7, 9.1 and 9.2 kernels (bugs #21446 and #21450) 
   Fixes for (boo#1210616)
CVE-2023-21990	Oracle VM VirtualBox	Core	None	No	8.2	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-21987	Oracle VM VirtualBox	Core	None	No	7.8	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-22002	Oracle VM VirtualBox	Core	None	No	6.0	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-21989	Oracle VM VirtualBox	Core	None	No	6.0	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-21998	Oracle VM VirtualBox	Core	None	No	4.6	Prior to 6.1.44, Prior to 7.0.8
CVE-2023-22000	Oracle VM VirtualBox	Core	None	No	4.6	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-22001	Oracle VM VirtualBox	Core	None	No	4.6	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-21988	Oracle VM VirtualBox	Core	None	No	3.8	Prior to 6.1.44, Prior to 7.0.8	 
CVE-2023-21999	Oracle VM VirtualBox	Core	None	No	3.6	Prior to 6.1.44, Prior to 7.0.8

OBS-URL: https://build.opensuse.org/request/show/1084796
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=687
2023-05-04 16:43:16 +00:00

197 lines
7.5 KiB
Diff

Index: VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -86,6 +86,10 @@
#define VBOXNETFLT_OS_SPECFIC 1
#include "../VBoxNetFltInternal.h"
+# if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 2
+# define OPENSUSE_152
+# endif
+
typedef struct VBOXNETFLTNOTIFIER {
struct notifier_block Notifier;
PVBOXNETFLTINS pThis;
Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -342,12 +342,15 @@ static void vbox_master_drop(struct drm_
}
static struct drm_driver driver = {
-#if RTLNX_VER_MAX(5,4,0) && !RTLNX_RHEL_MAJ_PREREQ(8,3) && !RTLNX_SUSE_MAJ_PREREQ(15,3)
- .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ |
+#if RTLNX_VER_MAX(5,4,0)
+ .driver_features =
+#if defined(OPENSUSE_152)
+ DRIVER_PRIME |
+#endif
# if RTLNX_VER_MAX(5,1,0) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
DRIVER_IRQ_SHARED |
# endif
- DRIVER_PRIME,
+ DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
#else /* >= 5.4.0 && RHEL >= 8.3 && SLES >= 15-SP3 */
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
#endif /* < 5.4.0 */
Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c
@@ -663,8 +663,12 @@ static inline u64 vbox_bo_mmap_offset(st
#elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0)
return bo->bo.addr_space_offset;
#else
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+ return drm_vma_node_offset_addr(&bo->bo.base.vma_node);
+#else
return drm_vma_node_offset_addr(&bo->bo.vma_node);
#endif /* >= 5.4.0 */
+#endif
}
int
Index: VirtualBox-7.0.8/include/iprt/cdefs.h
===================================================================
--- VirtualBox-7.0.8.orig/include/iprt/cdefs.h
+++ VirtualBox-7.0.8/include/iprt/cdefs.h
@@ -1399,14 +1399,15 @@
#if RT_CLANG_PREREQ(4, 0) && RT_CPLUSPLUS_PREREQ(201100)
# define RT_FALL_THROUGH() [[clang::fallthrough]]
#elif RT_CLANG_PREREQ(12, 0) || RT_GNUC_PREREQ(7, 0)
-# define RT_FALL_THROUGH() __attribute__((__fallthrough__))
+# define FALL_THROUGH __attribute__((__fallthrough__))
#else
-# define RT_FALL_THROUGH() (void)0
+# define FALL_THROUGH (void)0
#endif
/** @def RT_FALL_THRU
* Tell the compiler that we're falling thru to the next case in a switch.
* @sa RT_FALL_THROUGH */
-#define RT_FALL_THRU() RT_FALL_THROUGH()
+#define RT_FALL_THRU() FALL_THROUGH
+#define RT_FALL_THROUGH() FALL_THROUGH
/** @def RT_IPRT_FORMAT_ATTR
Index: VirtualBox-7.0.8/kBuild/header.kmk
===================================================================
--- VirtualBox-7.0.8.orig/kBuild/header.kmk
+++ VirtualBox-7.0.8/kBuild/header.kmk
@@ -764,7 +764,7 @@ RMDIR_EXT := $(KBUILD_BIN_PATH)/kmk_rm
RMDIR_INT := kmk_builtin_rmdir
RMDIR := $(RMDIR_INT)
-SED_EXT := $(KBUILD_BIN_PATH)/kmk_sed$(HOSTSUFF_EXE)
+SED_EXT := /usr/bin/kmk_sed$(HOSTSUFF_EXE)
SED_INT := $(SED_EXT)
SED := $(SED_EXT)
Index: VirtualBox-7.0.8/configure
===================================================================
--- VirtualBox-7.0.8.orig/configure
+++ VirtualBox-7.0.8/configure
@@ -2000,7 +2000,7 @@ check_kbuild()
fi
echo "export KBUILD_PATH KBUILD_DEVTOOLS PATH" >> $ENV
echo "unset path_kbuild_bin path_tools_bin" >> $ENV
- KBUILD_SED="$KBUILDDIR_BIN/kmk_sed"
+ KBUILD_SED="/usr/bin/kmk_sed"
echo '' >> $ENV
echo "# Legacy - do not use:" >> $ENV
@@ -2010,7 +2010,7 @@ check_kbuild()
echo '' >> $ENV
elif check_avail "kmk" KBUILDDIR really; then
# check for installed kBuild
- KBUILD_SED="`which_wrapper kmk_sed`"
+ KBUILD_SED="/usr/bin/kmk_sed"
else
fail
fi
Index: VirtualBox-7.0.8/tools/bin/backport-commit.sh
===================================================================
--- VirtualBox-7.0.8.orig/tools/bin/backport-commit.sh
+++ VirtualBox-7.0.8/tools/bin/backport-commit.sh
@@ -29,7 +29,7 @@
#
# Determin script dir so we can source the common bits.
#
-MY_SED=kmk_sed
+MY_SED=/usr/bin/kmk_sed
MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows.
if test "${MY_SCRIPT_DIR}" = "$0"; then
MY_SCRIPT_DIR=`pwd -L`
Index: VirtualBox-7.0.8/tools/bin/backport-common.sh
===================================================================
--- VirtualBox-7.0.8.orig/tools/bin/backport-common.sh
+++ VirtualBox-7.0.8/tools/bin/backport-common.sh
@@ -1,4 +1,4 @@
-# $Id: backport-common.sh $
+ $Id: backport-common.sh $
## @file
# Common backport script bits.
#
@@ -33,7 +33,7 @@
MY_PRINTF=kmk_printf
MY_RM=kmk_rm
MY_SVN=svn
- MY_SED=kmk_sed
+ MY_SED=/usr/bin/kmk_sed
#
# Functions.
Index: VirtualBox-7.0.8/tools/bin/backport-merge-and-commit.sh
===================================================================
--- VirtualBox-7.0.8.orig/tools/bin/backport-merge-and-commit.sh
+++ VirtualBox-7.0.8/tools/bin/backport-merge-and-commit.sh
@@ -29,7 +29,7 @@
#
# Determin script dir so we can invoke the two worker scripts.
#
-MY_SED=kmk_sed
+MY_SED=/usr/bin/kmk_sed
MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows.
if test "${MY_SCRIPT_DIR}" = "$0"; then
MY_SCRIPT_DIR=`pwd -L`
Index: VirtualBox-7.0.8/tools/bin/backport-merge.sh
===================================================================
--- VirtualBox-7.0.8.orig/tools/bin/backport-merge.sh
+++ VirtualBox-7.0.8/tools/bin/backport-merge.sh
@@ -29,7 +29,7 @@
#
# Determin script dir so we can source the common bits.
#
-MY_SED=kmk_sed
+MY_SED=/usr/bin/kmk_sed
MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows.
if test "${MY_SCRIPT_DIR}" = "$0"; then
MY_SCRIPT_DIR=`pwd -L`
Index: VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk
===================================================================
--- VirtualBox-7.0.8.orig/src/VBox/Main/Makefile.kmk
+++ VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk
@@ -267,7 +267,7 @@ $(VBOX_XIDL_FILE).ts +| $(VBOX_XIDL_FILE
| $$(dir $$@)
$(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
$(QUIET)$(VBOX_XSLTPROC) -o $(VBOX_XIDL_FILE).ts-tmp $(VBOX_PATH_MAIN_SRC)/idl/docstrip.xsl $(VBOX_XIDL_FILE_SRC)
- $(QUIET)$(SED) -e 's/ *$(DOLLAR)//g' -e '/^$(DOLLAR)/d' --output $(VBOX_XIDL_FILE).ts $(VBOX_XIDL_FILE).ts-tmp
+ /usr/bin/kmk_sed -e 's/ *$(DOLLAR)//g' -e '/^$(DOLLAR)/d' --output $(VBOX_XIDL_FILE).ts $(VBOX_XIDL_FILE).ts-tmp
$(QUIET)$(RM) -- $(VBOX_XIDL_FILE).ts-tmp
$(QUIET)$(CP) --changed -fv -- $(VBOX_XIDL_FILE).ts $(VBOX_XIDL_FILE)
Index: VirtualBox-7.0.8/src/VBox/Runtime/Makefile.kmk
===================================================================
--- VirtualBox-7.0.8.orig/src/VBox/Runtime/Makefile.kmk
+++ VirtualBox-7.0.8/src/VBox/Runtime/Makefile.kmk
@@ -4411,6 +4411,7 @@ $(foreach lib,RuntimeR3 RuntimeBldProg V
#
# Generate the status code data.
#
+SED = "/usr/bin/kmk_sed"
$(IPRT_OUT_DIR)/errmsgdata.h: \
$(VBOX_PATH_RUNTIME_SRC)/common/err/errmsg.sed \
$(PATH_ROOT)/include/iprt/err.h \