Accepting request 1103410 from home:lwfinger:branches:Virtualization

- Fix build for kernel 6.5
  Add file "fixes_for_6.5.patch"
  Reworked patches for various Leap versions:
    Added file "fixes_for_leap.patch"
    Deleted file "fixes_for_leap15.2.patch"
    Deleted file "fixes_for_leap15.3.patch"
    Deleted file "fixes_for_leap15.4.patch"
    Deleted file "fixes_for_leap15.5.patch"

OBS-URL: https://build.opensuse.org/request/show/1103410
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=705
This commit is contained in:
Larry Finger 2023-08-10 22:11:33 +00:00 committed by Git OBS Bridge
parent d48380bbcf
commit 390649b14a
9 changed files with 585 additions and 541 deletions

18
fixes_for_6.5.patch Normal file
View File

@ -0,0 +1,18 @@
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_fb.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -197,9 +197,13 @@ static struct fb_ops vboxfb_ops = {
.owner = THIS_MODULE,
.fb_check_var = drm_fb_helper_check_var,
.fb_set_par = drm_fb_helper_set_par,
+#if RTLNX_VER_MIN(6, 5, 0)
+ FB_DEFAULT_SYS_OPS,
+#else
.fb_fillrect = drm_fb_helper_sys_fillrect,
.fb_copyarea = drm_fb_helper_sys_copyarea,
.fb_imageblit = drm_fb_helper_sys_imageblit,
+#endif
.fb_pan_display = drm_fb_helper_pan_display,
.fb_blank = drm_fb_helper_blank,
.fb_setcmap = drm_fb_helper_setcmap,

548
fixes_for_leap.patch Normal file
View File

@ -0,0 +1,548 @@
Index: VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -89,6 +89,13 @@
#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
+# if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 5
+# define OPENSUSE_155
+# endif
+
typedef struct VBOXNETFLTNOTIFIER {
struct notifier_block Notifier;
PVBOXNETFLTINS pThis;
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -39,6 +39,7 @@
#include "vbox_drv.h"
#include <drm/drm_crtc_helper.h>
+
#if RTLNX_VER_MIN(5,1,0) || RTLNX_RHEL_MAJ_PREREQ(8,1)
# include <drm/drm_probe_helper.h>
#endif
@@ -52,7 +53,7 @@
/** Detect whether kernel mode setting is OFF. */
#if defined(CONFIG_VGA_CONSOLE)
-# if RTLNX_VER_MIN(5,17,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1)
+# if RTLNX_VER_MIN(5,17,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1) || RTLNX_SUSE_MAJ_PREREQ(15,5)
# define VBOX_VIDEO_NOMODESET() drm_firmware_drivers_only() && vbox_modeset == -1
# elif RTLNX_VER_MIN(4,7,0)
# define VBOX_VIDEO_NOMODESET() vgacon_text_force() && vbox_modeset == -1
@@ -342,12 +343,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 */
@@ -369,7 +373,7 @@ static struct drm_driver driver = {
#endif
.fops = &vbox_fops,
-#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
+#if !RTLNX_SUSE_MAJ_PREREQ(15,5) && RTLNX_VER_MAX(5,19,0)
.irq_handler = vbox_irq_handler,
#endif
.name = DRIVER_NAME,
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-7.0.10/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.10/include/iprt/cdefs.h
===================================================================
--- VirtualBox-7.0.10.orig/include/iprt/cdefs.h
+++ VirtualBox-7.0.10/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.10/kBuild/header.kmk
===================================================================
--- VirtualBox-7.0.10.orig/kBuild/header.kmk
+++ VirtualBox-7.0.10/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.10/configure
===================================================================
--- VirtualBox-7.0.10.orig/configure
+++ VirtualBox-7.0.10/configure
@@ -2041,7 +2041,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
@@ -2051,7 +2051,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.10/tools/bin/backport-commit.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-commit.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-common.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-common.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-merge-and-commit.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-merge-and-commit.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-merge.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-merge.sh
+++ VirtualBox-7.0.10/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.10/src/VBox/Main/Makefile.kmk
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Main/Makefile.kmk
+++ VirtualBox-7.0.10/src/VBox/Main/Makefile.kmk
@@ -264,7 +264,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.10/src/VBox/Runtime/Makefile.kmk
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Runtime/Makefile.kmk
+++ VirtualBox-7.0.10/src/VBox/Runtime/Makefile.kmk
@@ -4421,6 +4421,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 \
Index: VirtualBox-7.0.10/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ VirtualBox-7.0.10/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -147,9 +147,9 @@
#include <linux/interrupt.h>
#include <linux/completion.h>
#include <linux/compiler.h>
-#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
+//#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
# define HAVE_UNLOCKED_IOCTL 1 /* We use this in a couple of places, so for now just define it for 5.9+ too. */
-#endif
+//#endif
#if !defined(HAVE_UNLOCKED_IOCTL) && RTLNX_VER_MAX(2,6,38)
# include <linux/smp_lock.h>
#endif
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyXPCOM.h
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyXPCOM.h
@@ -191,7 +191,7 @@ extern "C" PyAPI_FUNC(const char *) PyUn
# endif
/* PyUnicode_AsUTF8 is just PyUnicode_AsUTF8AndSize without returning a size. */
-# define PyUnicode_AsUTF8(o) PyUnicode_AsUTF8AndSize(o, NULL)
+// # define PyUnicode_AsUTF8(o) (const char *)PyUnicode_AsUTF8AndSize(o, NULL)
DECLINLINE(int) PyRun_SimpleString(const char *pszCode)
{
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -121,7 +121,7 @@ void DoLogMessage(const char *methodName
#if PY_MAJOR_VERSION <= 2
c += PyString_AsString(repr);
#else
- c += PyUnicode_AsUTF8(repr);
+ c += PyUnicode_AsUTF8AndSize(repr, NULL);
#endif
Py_DECREF(repr);
}
@@ -203,7 +203,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
#if PY_MAJOR_VERSION <= 2
streamout += PyString_AsString(temp);
#else
- streamout += PyUnicode_AsUTF8(temp);
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
#endif
Py_DECREF(temp);
} else
@@ -215,7 +215,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
#if PY_MAJOR_VERSION <= 2
streamout += PyString_AsString(temp);
#else
- streamout += PyUnicode_AsUTF8(temp);
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
#endif
Py_DECREF(temp);
} else
@@ -440,10 +440,10 @@ char *PyTraceback_AsString(PyObject *exc
#if PY_MAJOR_VERSION <= 2
char *tempResult = (char *)PyString_AsString(obResult);
#elif PY_MINOR_VERSION <= 6
- char *tempResult = (char *)PyUnicode_AsUTF8(obResult);
+ char *tempResult = (char *)PyUnicode_AsUTF8AndSize(obResult, NULL);
#else
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
- const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
+ const char *tempResult = (const char *)PyUnicode_AsUTF8AndSize(obResult, NULL);
#endif
result = (char *)PyMem_Malloc(strlen(tempResult)+1);
if (result==NULL)
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -117,7 +117,7 @@ PyG_Base::PyG_Base(PyObject *instance, c
#if PY_MAJOR_VERSION <= 2
szRepr = PyString_AsString(r);
#else
- szRepr = PyUnicode_AsUTF8(r);
+ szRepr = PyUnicode_AsUTF8AndSize(r, NULL);
#endif
if (szRepr==NULL) szRepr = "";
int reprOffset = *szRepr=='<' ? 1 : 0;
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyIID.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyIID.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyIID.cpp
@@ -137,7 +137,7 @@ Py_nsIID::IIDFromPyObject(PyObject *ob,
ok = iid.Parse(PyString_AsString(ob));
#else
if (PyUnicode_Check(ob)) {
- ok = iid.Parse(PyUnicode_AsUTF8(ob));
+ ok = iid.Parse(PyUnicode_AsUTF8AndSize(ob, NULL));
#endif
if (!ok) {
PyXPCOM_BuildPyException(NS_ERROR_ILLEGAL_VALUE);
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/VariantUtils.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/VariantUtils.cpp
@@ -141,7 +141,7 @@ PyObject *PyObject_FromNSString( const n
#if PY_MAJOR_VERSION <= 2
char* dest = (char *)PyString_AS_STRING(ret);
#else
- char* dest = (char *)PyUnicode_AsUTF8(ret);
+ char* dest = (char *)PyUnicode_AsUTF8AndSize(ret, NULL);
#endif
copy_string(s.BeginReading(fromBegin), s.EndReading(fromEnd), dest);
}
@@ -393,7 +393,7 @@ PRBool FillSingleArray(void *array_ptr,
#if PY_MAJOR_VERSION <= 2
sequence_ob = PyObject_Str(sequence_ob);
#else
- sequence_ob = PyUnicode_AsUTF8String(sequence_ob);
+ sequence_ob = (PyObject *)PyUnicode_AsUTF8AndSize(sequence_ob, NULL);
#endif
} else
release_seq = PR_FALSE;
@@ -402,7 +402,7 @@ PRBool FillSingleArray(void *array_ptr,
#if PY_MAJOR_VERSION <= 2
memcpy(pthis, PyString_AS_STRING(sequence_ob), sequence_size);
#else
- memcpy(pthis, PyUnicode_AsUTF8(sequence_ob), sequence_size);
+ memcpy(pthis, PyUnicode_AsUTF8AndSize(sequence_ob, NULL), sequence_size);
#endif
if (release_seq)
{
@@ -477,7 +477,7 @@ PRBool FillSingleArray(void *array_ptr,
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
BREAK_FALSE;
}
- FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8(val) );
+ FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8AndSize(val, NULL) );
#endif
break;
@@ -549,7 +549,7 @@ PRBool FillSingleArray(void *array_ptr,
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
BREAK_FALSE;
}
- if ((val_use = PyUnicode_AsUTF8String(val))==NULL)
+ if ((val_use = (PyObject *)PyUnicode_AsUTF8AndSize(val, NULL))==NULL)
BREAK_FALSE;
const char *sz = PyBytes_AS_STRING(val_use);
Index: VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
+++ VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
@@ -710,7 +710,7 @@ static const char *keyModToStr(unsigned
RT_CASE_RET_STR(KMOD_NUM);
RT_CASE_RET_STR(KMOD_CAPS);
RT_CASE_RET_STR(KMOD_MODE);
- RT_CASE_RET_STR(KMOD_SCROLL);
+ RT_CASE_RET_STR(KMOD_RESERVED);
default:
break;
}
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -39,6 +39,7 @@
# pragma once
#endif
+
#include <linux/version.h>
/* iprt/linux/version.h copy - start */
@@ -160,9 +161,9 @@
# include <drm/drm_device.h>
# include <drm/drm_ioctl.h>
# include <drm/drm_fourcc.h>
-# if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
-# include <drm/drm_irq.h>
-# endif
+//# if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
+//# include <drm/drm_irq.h>
+//# endif
# include <drm/drm_vblank.h>
#else /* < 5.5.0 || RHEL < 8.3 || SLES < 15-SP3 */
# include <drm/drmP.h>
@@ -192,15 +193,15 @@
# include <drm/ttm/ttm_resource.h>
#endif
-#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
+#if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
# include <drm/drm_framebuffer.h>
-#endif
#include "vboxvideo_guest.h"
#include "vboxvideo_vbe.h"
#include "hgsmi_ch_setup.h"
#include "product-generated.h"
+#endif
#if RTLNX_VER_MAX(4,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5)
static inline void drm_gem_object_put_unlocked(struct drm_gem_object *obj)
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_irq.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_irq.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_irq.c
@@ -205,21 +205,11 @@ int vbox_irq_init(struct vbox_private *v
{
INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker);
vbox_update_mode_hints(vbox);
-#if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,1)
return request_irq(VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq, vbox_irq_handler, IRQF_SHARED, vbox->dev->driver->name, vbox->dev);
-#elif RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1)
- return drm_irq_install(vbox->dev, VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq);
-#else
- return drm_irq_install(vbox->dev);
-#endif
}
void vbox_irq_fini(struct vbox_private *vbox)
{
-#if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,1)
free_irq(VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq, vbox->dev);
-#else
- drm_irq_uninstall(vbox->dev);
-#endif
flush_work(&vbox->hotplug_work);
}
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -38,6 +38,10 @@
# include <drm/ttm/ttm_tt.h>
#endif
+# if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 5
+# define OPENSUSE_155
+# endif
+
#if RTLNX_VER_MIN(5,11,0) || RTLNX_RHEL_MAJ_PREREQ(8,5)
# include <drm/drm_gem.h>
# include <drm/drm_gem_ttm_helper.h>
@@ -321,7 +325,7 @@ static struct ttm_tt *vbox_ttm_tt_create
#if RTLNX_VER_MAX(5,10,0) && !RTLNX_RHEL_RANGE(8,5, 8,99)
tt->func = &vbox_tt_backend_func;
#endif
-#if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
+#if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2) || defined(OPENSUSE_155)
if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined, 0)) {
#elif RTLNX_VER_MIN(5,11,0) || RTLNX_RHEL_RANGE(8,5, 8,99)
if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined)) {
@@ -330,11 +334,9 @@ static struct ttm_tt *vbox_ttm_tt_create
#else
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
#endif
-
kfree(tt);
return NULL;
}
-
return tt;
}
@@ -628,7 +630,7 @@ int vbox_bo_create(struct drm_device *de
drm_vma_node_reset(&vboxbo->bo.base.vma_node);
#endif
-#if RTLNX_VER_MIN(6,1,0)
+#if RTLNX_VER_MIN(6,1,0) || defined(OPENSUSE_155)
ret = ttm_bo_init_validate(&vbox->ttm.bdev, &vboxbo->bo,
#else
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_fb.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -47,6 +47,7 @@
#include <drm/drm_crtc.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_crtc_helper.h>
+#include <drm/drm_framebuffer.h>
#include <VBoxVideo.h>
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -39,10 +39,8 @@
#include "vbox_drv.h"
#include <linux/export.h>
#include <drm/drm_crtc_helper.h>
-#if RTLNX_VER_MIN(6,3,0)
# include <drm/drm_modeset_helper_vtables.h>
# include <drm/drm_modeset_helper.h>
-#endif
#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
# include <drm/drm_plane_helper.h>
#endif
@@ -53,6 +51,7 @@
#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
# include <drm/drm_edid.h>
#endif
+#include <drm/drm_edid.h>
#include "VBoxVideo.h"
Index: VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetAdp/linux/VBoxNetAdp-linux.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/VBoxNetAdp-linux.c
+++ VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetAdp/linux/VBoxNetAdp-linux.c
@@ -77,7 +77,7 @@
#define VBOXNETADP_FROM_IFACE(iface) ((PVBOXNETADP) ifnet_softc(iface))
/** Set netdev MAC address. */
-#if RTLNX_VER_MIN(5,17,0)
+#if RTLNX_VER_MIN(5,17,0) || RTLNX_SUSE_MAJ_PREREQ(15,5)
# define VBOX_DEV_ADDR_SET(dev, addr, len) dev_addr_mod(dev, 0, addr, len)
#else /* < 5.17.0 */
# define VBOX_DEV_ADDR_SET(dev, addr, len) memcpy(dev->dev_addr, addr, len)

View File

@ -1,196 +0,0 @@
Index: VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-7.0.10/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -89,6 +89,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.10/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-7.0.10/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.10/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-7.0.10/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.10/include/iprt/cdefs.h
===================================================================
--- VirtualBox-7.0.10.orig/include/iprt/cdefs.h
+++ VirtualBox-7.0.10/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.10/kBuild/header.kmk
===================================================================
--- VirtualBox-7.0.10.orig/kBuild/header.kmk
+++ VirtualBox-7.0.10/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.10/configure
===================================================================
--- VirtualBox-7.0.10.orig/configure
+++ VirtualBox-7.0.10/configure
@@ -2041,7 +2041,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
@@ -2051,7 +2051,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.10/tools/bin/backport-commit.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-commit.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-common.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-common.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-merge-and-commit.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-merge-and-commit.sh
+++ VirtualBox-7.0.10/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.10/tools/bin/backport-merge.sh
===================================================================
--- VirtualBox-7.0.10.orig/tools/bin/backport-merge.sh
+++ VirtualBox-7.0.10/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.10/src/VBox/Main/Makefile.kmk
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Main/Makefile.kmk
+++ VirtualBox-7.0.10/src/VBox/Main/Makefile.kmk
@@ -264,7 +264,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.10/src/VBox/Runtime/Makefile.kmk
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Runtime/Makefile.kmk
+++ VirtualBox-7.0.10/src/VBox/Runtime/Makefile.kmk
@@ -4421,6 +4421,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 \

View File

@ -1,135 +0,0 @@
Index: VirtualBox-7.0.10/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ VirtualBox-7.0.10/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -147,9 +147,9 @@
#include <linux/interrupt.h>
#include <linux/completion.h>
#include <linux/compiler.h>
-#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
+//#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
# define HAVE_UNLOCKED_IOCTL 1 /* We use this in a couple of places, so for now just define it for 5.9+ too. */
-#endif
+//#endif
#if !defined(HAVE_UNLOCKED_IOCTL) && RTLNX_VER_MAX(2,6,38)
# include <linux/smp_lock.h>
#endif
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyXPCOM.h
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyXPCOM.h
@@ -191,7 +191,7 @@ extern "C" PyAPI_FUNC(const char *) PyUn
# endif
/* PyUnicode_AsUTF8 is just PyUnicode_AsUTF8AndSize without returning a size. */
-# define PyUnicode_AsUTF8(o) PyUnicode_AsUTF8AndSize(o, NULL)
+// # define PyUnicode_AsUTF8(o) (const char *)PyUnicode_AsUTF8AndSize(o, NULL)
DECLINLINE(int) PyRun_SimpleString(const char *pszCode)
{
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -121,7 +121,7 @@ void DoLogMessage(const char *methodName
#if PY_MAJOR_VERSION <= 2
c += PyString_AsString(repr);
#else
- c += PyUnicode_AsUTF8(repr);
+ c += PyUnicode_AsUTF8AndSize(repr, NULL);
#endif
Py_DECREF(repr);
}
@@ -203,7 +203,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
#if PY_MAJOR_VERSION <= 2
streamout += PyString_AsString(temp);
#else
- streamout += PyUnicode_AsUTF8(temp);
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
#endif
Py_DECREF(temp);
} else
@@ -215,7 +215,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
#if PY_MAJOR_VERSION <= 2
streamout += PyString_AsString(temp);
#else
- streamout += PyUnicode_AsUTF8(temp);
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
#endif
Py_DECREF(temp);
} else
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -117,7 +117,7 @@ PyG_Base::PyG_Base(PyObject *instance, c
#if PY_MAJOR_VERSION <= 2
szRepr = PyString_AsString(r);
#else
- szRepr = PyUnicode_AsUTF8(r);
+ szRepr = PyUnicode_AsUTF8AndSize(r, NULL);
#endif
if (szRepr==NULL) szRepr = "";
int reprOffset = *szRepr=='<' ? 1 : 0;
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyIID.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/PyIID.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/PyIID.cpp
@@ -137,7 +137,7 @@ Py_nsIID::IIDFromPyObject(PyObject *ob,
ok = iid.Parse(PyString_AsString(ob));
#else
if (PyUnicode_Check(ob)) {
- ok = iid.Parse(PyUnicode_AsUTF8(ob));
+ ok = iid.Parse(PyUnicode_AsUTF8AndSize(ob, NULL));
#endif
if (!ok) {
PyXPCOM_BuildPyException(NS_ERROR_ILLEGAL_VALUE);
Index: VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/VariantUtils.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp
+++ VirtualBox-7.0.10/src/libs/xpcom18a4/python/src/VariantUtils.cpp
@@ -141,7 +141,7 @@ PyObject *PyObject_FromNSString( const n
#if PY_MAJOR_VERSION <= 2
char* dest = (char *)PyString_AS_STRING(ret);
#else
- char* dest = (char *)PyUnicode_AsUTF8(ret);
+ char* dest = (char *)PyUnicode_AsUTF8AndSize(ret, NULL);
#endif
copy_string(s.BeginReading(fromBegin), s.EndReading(fromEnd), dest);
}
@@ -393,7 +393,7 @@ PRBool FillSingleArray(void *array_ptr,
#if PY_MAJOR_VERSION <= 2
sequence_ob = PyObject_Str(sequence_ob);
#else
- sequence_ob = PyUnicode_AsUTF8String(sequence_ob);
+ sequence_ob = (PyObject *)PyUnicode_AsUTF8AndSize(sequence_ob, NULL);
#endif
} else
release_seq = PR_FALSE;
@@ -402,7 +402,7 @@ PRBool FillSingleArray(void *array_ptr,
#if PY_MAJOR_VERSION <= 2
memcpy(pthis, PyString_AS_STRING(sequence_ob), sequence_size);
#else
- memcpy(pthis, PyUnicode_AsUTF8(sequence_ob), sequence_size);
+ memcpy(pthis, PyUnicode_AsUTF8AndSize(sequence_ob, NULL), sequence_size);
#endif
if (release_seq)
{
@@ -477,7 +477,7 @@ PRBool FillSingleArray(void *array_ptr,
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
BREAK_FALSE;
}
- FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8(val) );
+ FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8AndSize(val, NULL) );
#endif
break;
@@ -549,7 +549,7 @@ PRBool FillSingleArray(void *array_ptr,
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
BREAK_FALSE;
}
- if ((val_use = PyUnicode_AsUTF8String(val))==NULL)
+ if ((val_use = (PyObject *)PyUnicode_AsUTF8AndSize(val, NULL))==NULL)
BREAK_FALSE;
const char *sz = PyBytes_AS_STRING(val_use);

View File

@ -1,13 +0,0 @@
Index: VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
+++ VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
@@ -710,7 +710,7 @@ static const char *keyModToStr(unsigned
RT_CASE_RET_STR(KMOD_NUM);
RT_CASE_RET_STR(KMOD_CAPS);
RT_CASE_RET_STR(KMOD_MODE);
- RT_CASE_RET_STR(KMOD_SCROLL);
+ RT_CASE_RET_STR(KMOD_RESERVED);
default:
break;
}

View File

@ -1,175 +0,0 @@
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -39,6 +39,7 @@
# pragma once
#endif
+
#include <linux/version.h>
/* iprt/linux/version.h copy - start */
@@ -166,9 +167,9 @@
# include <drm/drm_device.h>
# include <drm/drm_ioctl.h>
# include <drm/drm_fourcc.h>
-# if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
-# include <drm/drm_irq.h>
-# endif
+//# if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
+//# include <drm/drm_irq.h>
+//# endif
# include <drm/drm_vblank.h>
#else /* < 5.5.0 || RHEL < 8.3 || SLES < 15-SP3 */
# include <drm/drmP.h>
@@ -198,15 +199,15 @@
# include <drm/ttm/ttm_resource.h>
#endif
-#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
+#if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
# include <drm/drm_framebuffer.h>
-#endif
#include "vboxvideo_guest.h"
#include "vboxvideo_vbe.h"
#include "hgsmi_ch_setup.h"
#include "product-generated.h"
+#endif
#if RTLNX_VER_MAX(4,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5)
static inline void drm_gem_object_put_unlocked(struct drm_gem_object *obj)
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -52,7 +52,7 @@
/** Detect whether kernel mode setting is OFF. */
#if defined(CONFIG_VGA_CONSOLE)
-# if RTLNX_VER_MIN(5,17,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1)
+# if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1)
# define VBOX_VIDEO_NOMODESET() drm_firmware_drivers_only() && vbox_modeset == -1
# elif RTLNX_VER_MIN(4,7,0)
# define VBOX_VIDEO_NOMODESET() vgacon_text_force() && vbox_modeset == -1
@@ -372,7 +372,7 @@ static struct drm_driver driver = {
#endif
.fops = &vbox_fops,
-#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_RANGE(8,7, 8,99) && !RTLNX_RHEL_MAJ_PREREQ(9,1)
+#if RTLNX_VER_MIN(5,15,0)
.irq_handler = vbox_irq_handler,
#endif
.name = DRIVER_NAME,
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_irq.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_irq.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_irq.c
@@ -205,21 +205,11 @@ int vbox_irq_init(struct vbox_private *v
{
INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker);
vbox_update_mode_hints(vbox);
-#if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,1)
return request_irq(VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq, vbox_irq_handler, IRQF_SHARED, vbox->dev->driver->name, vbox->dev);
-#elif RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1)
- return drm_irq_install(vbox->dev, VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq);
-#else
- return drm_irq_install(vbox->dev);
-#endif
}
void vbox_irq_fini(struct vbox_private *vbox)
{
-#if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,1)
free_irq(VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq, vbox->dev);
-#else
- drm_irq_uninstall(vbox->dev);
-#endif
flush_work(&vbox->hotplug_work);
}
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -323,18 +323,10 @@ static struct ttm_tt *vbox_ttm_tt_create
#endif
#if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined, 0)) {
-#elif RTLNX_VER_MIN(5,11,0) || RTLNX_RHEL_RANGE(8,5, 8,99)
- if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined)) {
-#elif RTLNX_VER_MIN(4,17,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
- if (ttm_tt_init(tt, bo, page_flags)) {
-#else
- if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
-#endif
-
kfree(tt);
return NULL;
}
-
+#endif
return tt;
}
@@ -628,11 +620,7 @@ int vbox_bo_create(struct drm_device *de
drm_vma_node_reset(&vboxbo->bo.base.vma_node);
#endif
-#if RTLNX_VER_MIN(6,1,0)
ret = ttm_bo_init_validate(&vbox->ttm.bdev, &vboxbo->bo,
-#else
- ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
-#endif /* < 6.1.0 */
ttm_bo_type_device, &vboxbo->placement,
#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
align >> PAGE_SHIFT, false, NULL, acc_size,
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_fb.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -47,6 +47,7 @@
#include <drm/drm_crtc.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_crtc_helper.h>
+#include <drm/drm_framebuffer.h>
#include <VBoxVideo.h>
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -39,10 +39,8 @@
#include "vbox_drv.h"
#include <linux/export.h>
#include <drm/drm_crtc_helper.h>
-#if RTLNX_VER_MIN(6,3,0)
# include <drm/drm_modeset_helper_vtables.h>
# include <drm/drm_modeset_helper.h>
-#endif
#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
# include <drm/drm_plane_helper.h>
#endif
@@ -53,6 +51,7 @@
#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2)
# include <drm/drm_edid.h>
#endif
+#include <drm/drm_edid.h>
#include "VBoxVideo.h"
Index: VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
+++ VirtualBox-7.0.10/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
@@ -710,7 +710,7 @@ static const char *keyModToStr(unsigned
RT_CASE_RET_STR(KMOD_NUM);
RT_CASE_RET_STR(KMOD_CAPS);
RT_CASE_RET_STR(KMOD_MODE);
- RT_CASE_RET_STR(KMOD_SCROLL);
+ RT_CASE_RET_STR(KMOD_RESERVED);
default:
break;
}

View File

@ -811,7 +811,7 @@ Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-7.0.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -87,6 +87,12 @@
@@ -88,6 +88,12 @@
#else
# define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
#endif

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed Aug 9 19:44:14 UTC 2023 - Larry Finger <Larry.Finger@gmail.com>
- Fix build for kernel 6.5
Add file "fixes_for_6.5.patch"
Reworked patches for various Leap versions:
Added file "fixes_for_leap.patch"
Deleted file "fixes_for_leap15.2.patch"
Deleted file "fixes_for_leap15.3.patch"
Deleted file "fixes_for_leap15.4.patch"
Deleted file "fixes_for_leap15.5.patch"
-------------------------------------------------------------------
Thu July 19 15:24:39 UTC 2023 - Larry Rainey <llrainey15@gmail.com>

View File

@ -144,20 +144,12 @@ Patch26: VirtualBox-5.2.10-xclient.patch
Patch27: fixes_for_sle12.patch
# Fixes for Qt5.13 on 32-bit systems
Patch28: fixes_for_qt5.13.patch
# Fixes for openSUSE Leap 15.2
Patch29: fixes_for_leap15.2.patch
# Fixes for kernel modules Makefile used at boot time
Patch30: fixes_for_makefile.patch
# Fix build for Qt 5.15
Patch31: fix-missing-includes-with-qt-5.15.patch
# Fix for changes in GSOAP 2.8.103
Patch32: handle_gsoap_208103.patch
# Fix for struct file_operations backport in 15.3
Patch33: fixes_for_leap15.3.patch
# Fix for build for 15.4
Patch34: fixes_for_leap15.4.patch
# Fix for backports to 15.5
Patch35: fixes_for_leap15.5.patch
# Fix for GCC13
Patch36: fixes_for_gcc13.patch
# Fix locking problem in 7.0.6
@ -165,6 +157,10 @@ Patch37: fix_7.0.6_locking_problems.patch
# Support python 3.11
Patch38: python311.patch
Patch39: fix_sdl_build.patch
# Fixes for openSUSE Leap 15.X
Patch40: fixes_for_leap.patch
# Fixes for kernel 6.5
Patch41: fixes_for_6.5.patch
#
# Common BuildRequires for both virtualbox and virtualbox-kmp
BuildRequires: %{kernel_module_package_buildreqs}
@ -465,28 +461,17 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%ifarch %{ix86} && 0%{?qt5ver} >= 51300
%patch28 -p1
%endif
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
# Patch for Leap 15.3
%patch33 -p1
%endif
%if 0%{?sle_version} == 150400 && 0%{?is_opensuse}
# Patch for Leap 15.4
%patch34 -p1
%endif
%if 0%{?sle_version} == 150500 && 0%{?is_opensuse}
# Patch for Leap 15.5
%patch35 -p1
%endif
%if 0%{gcc_version} >= 13
%patch36 -p1
%endif
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
### Documents for virtualbox main package ###
%if %{main_package}