forked from pool/virtualbox
30189b394f
- Fix build on Leap 15.6. OBS-URL: https://build.opensuse.org/request/show/1144725 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=722
517 lines
21 KiB
Diff
517 lines
21 KiB
Diff
Index: VirtualBox-7.0.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
+++ VirtualBox-7.0.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
@@ -89,6 +89,17 @@
|
|
#define VBOXNETFLT_OS_SPECFIC 1
|
|
#include "../VBoxNetFltInternal.h"
|
|
|
|
+# if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 6
|
|
+# define OPENSUSE_156
|
|
+# endif
|
|
+# if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 5
|
|
+# define OPENSUSE_155
|
|
+# endif
|
|
+
|
|
+#if RTLNX_SUSE_MAJ_PREREQ(15, 6)
|
|
+#include <net/gso.h>
|
|
+#endif
|
|
+
|
|
typedef struct VBOXNETFLTNOTIFIER {
|
|
struct notifier_block Notifier;
|
|
PVBOXNETFLTINS pThis;
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_drv.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
|
+++ VirtualBox-7.0.14/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
|
|
@@ -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 */
|
|
@@ -395,7 +399,7 @@ static struct drm_driver driver = {
|
|
#endif
|
|
.gem_prime_import = drm_gem_prime_import,
|
|
.gem_prime_import_sg_table = vbox_gem_prime_import_sg_table,
|
|
-#if RTLNX_VER_MAX(6,6,0) && !RTLNX_RHEL_RANGE(9,4, 9,99)
|
|
+#if RTLNX_VER_MAX(6,4,0) && !RTLNX_RHEL_RANGE(9,4, 9,99)
|
|
.gem_prime_mmap = vbox_gem_prime_mmap,
|
|
#endif
|
|
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_main.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
|
+++ VirtualBox-7.0.14/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.14/include/iprt/cdefs.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/include/iprt/cdefs.h
|
|
+++ VirtualBox-7.0.14/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.14/kBuild/header.kmk
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/kBuild/header.kmk
|
|
+++ VirtualBox-7.0.14/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.14/configure
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/configure
|
|
+++ VirtualBox-7.0.14/configure
|
|
@@ -2039,7 +2039,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
|
|
@@ -2049,7 +2049,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.14/tools/bin/backport-commit.sh
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/tools/bin/backport-commit.sh
|
|
+++ VirtualBox-7.0.14/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.14/tools/bin/backport-common.sh
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/tools/bin/backport-common.sh
|
|
+++ VirtualBox-7.0.14/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.14/tools/bin/backport-merge-and-commit.sh
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/tools/bin/backport-merge-and-commit.sh
|
|
+++ VirtualBox-7.0.14/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.14/tools/bin/backport-merge.sh
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/tools/bin/backport-merge.sh
|
|
+++ VirtualBox-7.0.14/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.14/src/VBox/Main/Makefile.kmk
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Main/Makefile.kmk
|
|
+++ VirtualBox-7.0.14/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.14/src/VBox/Runtime/Makefile.kmk
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Runtime/Makefile.kmk
|
|
+++ VirtualBox-7.0.14/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.14/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
|
|
+++ VirtualBox-7.0.14/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.14/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
|
+++ VirtualBox-7.0.14/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.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|
+++ VirtualBox-7.0.14/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.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|
+++ VirtualBox-7.0.14/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.14/src/libs/xpcom18a4/python/src/PyIID.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/PyIID.cpp
|
|
+++ VirtualBox-7.0.14/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.14/src/libs/xpcom18a4/python/src/VariantUtils.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp
|
|
+++ VirtualBox-7.0.14/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.14/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
|
|
+++ VirtualBox-7.0.14/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.14/src/VBox/Additions/linux/drm/vbox_drv.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_drv.h
|
|
+++ VirtualBox-7.0.14/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 */
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
+++ VirtualBox-7.0.14/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>
|
|
@@ -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;
|
|
}
|
|
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_fb.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_fb.c
|
|
+++ VirtualBox-7.0.14/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>
|
|
|
|
@@ -196,7 +197,7 @@ 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) || RTLNX_RHEL_RANGE(9,4, 9,99)
|
|
+#if RTLNX_VER_MIN(6, 4, 0) || RTLNX_RHEL_RANGE(9,4, 9,99)
|
|
.fb_read = fb_sys_read,
|
|
.fb_write = fb_sys_write,
|
|
.fb_fillrect = sys_fillrect,
|
|
@@ -351,7 +352,7 @@ static int vboxfb_create(struct drm_fb_h
|
|
* The last flag forces a mode set on VT switches even if the kernel
|
|
* does not think it is needed.
|
|
*/
|
|
-#if RTLNX_VER_MIN(6,6,0)
|
|
+#if RTLNX_VER_MIN(6,4,0)
|
|
info->flags = FBINFO_MISC_ALWAYS_SETPAR;
|
|
#else
|
|
info->flags = FBINFO_DEFAULT | FBINFO_MISC_ALWAYS_SETPAR;
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_mode.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/drm/vbox_mode.c
|
|
+++ VirtualBox-7.0.14/src/VBox/Additions/linux/drm/vbox_mode.c
|
|
@@ -53,6 +53,7 @@
|
|
#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_RANGE(8,8, 8,99) || RTLNX_RHEL_MAJ_PREREQ(9,2) || RTLNX_SUSE_MAJ_PREREQ(15,5)
|
|
# include <drm/drm_edid.h>
|
|
#endif
|
|
+#include <drm/drm_edid.h>
|
|
|
|
#include "VBoxVideo.h"
|
|
|
|
Index: VirtualBox-7.0.14/src/VBox/HostDrivers/VBoxNetAdp/linux/VBoxNetAdp-linux.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/VBoxNetAdp-linux.c
|
|
+++ VirtualBox-7.0.14/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)
|
|
Index: VirtualBox-7.0.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
+++ VirtualBox-7.0.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
|
|
@@ -1342,7 +1342,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
|
|
fWrite, /* force write access. */
|
|
# endif
|
|
&pMemLnx->apPages[0] /* Page array. */
|
|
-# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
|
|
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0) && !RTLNX_SUSE_MAJ_PREREQ(15, 6)
|
|
, papVMAs /* vmas */
|
|
# endif
|
|
);
|
|
@@ -1389,7 +1389,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
|
|
fWrite, /* force write access. */
|
|
# endif
|
|
&pMemLnx->apPages[0] /* Page array. */
|
|
-# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
|
|
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0) && && !defined(OPENSUSE_156)
|
|
, papVMAs /* vmas */
|
|
# endif
|
|
);
|
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
===================================================================
|
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
@@ -270,8 +270,12 @@ static ssize_t vbsf_iov_iter_get_pages(s
|
|
size_t cPagesLocked;
|
|
|
|
down_read(&pTask->mm->mmap_sem);
|
|
- cPagesLocked = get_user_pages(pTask, pTask->mm, uPtrFrom, cPages, iter->v_write, 1 /*force*/, papPages, NULL);
|
|
- up_read(&pTask->mm->mmap_sem);
|
|
+#if defined(OPENSUSE_156)
|
|
+ cPagesLocked = get_user_pages(pTask, pTask->mm, uPtrFrom, cPages);
|
|
+#else
|
|
+ cPagesLocked = get_user_pages(pTask, pTask->mm, uPtrFrom, cPages, iter->v_write, 1 /*force*/, papPages, NULL);
|
|
+#endif
|
|
+ up_read(&pTask->mm->mmap_sem);
|
|
if (cPagesLocked == cPages) {
|
|
size_t cbRet = (cPages << PAGE_SHIFT) - offPg0;
|
|
if (cPages == cPagesLeft) {
|