diff --git a/UserManual.pdf b/UserManual.pdf index cb2c663..ae7debf 100644 --- a/UserManual.pdf +++ b/UserManual.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1be96694b4da49489db88b3593b8ce981b93766fd0869a32bbe872621bedb04 -size 4595857 +oid sha256:23271ffe5f6141af3be22359c65ec73ce784286a60795f445c5353c8a43a0c69 +size 4600053 diff --git a/VirtualBox-7.0.14-patched.tar.bz2 b/VirtualBox-7.0.14-patched.tar.bz2 deleted file mode 100644 index bdeb35f..0000000 --- a/VirtualBox-7.0.14-patched.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:823c905f80e8df02ff0a5ba56e7e4c3a2ade6daa214201cb8e4b636cf5db2574 -size 151963329 diff --git a/VirtualBox-7.0.18-patched.tar.bz2 b/VirtualBox-7.0.18-patched.tar.bz2 new file mode 100644 index 0000000..15ea64c --- /dev/null +++ b/VirtualBox-7.0.18-patched.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3ccdbc65b983a8c645ac0823f83f6d5169b20b7c87151dc1a2d333c9a66f5df +size 151170649 diff --git a/fix_shared_folder_time.patch b/fix_shared_folder_time.patch deleted file mode 100644 index 21e22b2..0000000 --- a/fix_shared_folder_time.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c -=================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/utils.c -+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c -@@ -297,10 +297,14 @@ DECLINLINE(int) sf_file_mode_to_linux(ui - */ - static void vbsf_update_inode_timestamps(struct inode *pInode, PSHFLFSOBJINFO pObjInfo) - { -+/* Oracle has a bad fix for i_atime, etc missing from struct inode. The fix -+ * below produces the correct results, but is not correct either as it references -+ * variables such as __i_atime that are supposed to be hidden. Larry Finger -+ */ - #if RTLNX_VER_MIN(6,6,0) -- struct timespec64 ts; -- vbsf_time_to_linux(&ts, &pObjInfo->ChangeTime); -- inode_set_ctime_to_ts(pInode, ts); -+ vbsf_time_to_linux(&pInode->__i_atime, &pObjInfo->AccessTime); -+ vbsf_time_to_linux(&pInode->__i_ctime, &pObjInfo->ChangeTime); -+ vbsf_time_to_linux(&pInode->__i_mtime, &pObjInfo->ModificationTime); - #else - vbsf_time_to_linux(&pInode->i_atime, &pObjInfo->AccessTime); - vbsf_time_to_linux(&pInode->i_ctime, &pObjInfo->ChangeTime); diff --git a/fixes_for_python.patch b/fixes_for_python.patch deleted file mode 100644 index 22b85f3..0000000 --- a/fixes_for_python.patch +++ /dev/null @@ -1,18 +0,0 @@ -To eliminate an rpmlint error, the shebang for this script should be -changed to use python directly, rather than through env. - -When openSUSE switches to Python3, the shebang below should be changed -to "#!/usr/bin/python3". - -Larry Finger - -Index: VirtualBox-7.0.14/src/VBox/Frontends/VBoxShell/vboxshell.py -=================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Frontends/VBoxShell/vboxshell.py -+++ VirtualBox-7.0.14/src/VBox/Frontends/VBoxShell/vboxshell.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - # $Id: vboxshell.py $ - diff --git a/handle_gsoap_208103.patch b/handle_gsoap_208103.patch deleted file mode 100644 index 32ae21d..0000000 --- a/handle_gsoap_208103.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: VirtualBox-7.0.14/src/VBox/Main/webservice/vboxweb.cpp -=================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Main/webservice/vboxweb.cpp -+++ VirtualBox-7.0.14/src/VBox/Main/webservice/vboxweb.cpp -@@ -955,9 +955,9 @@ static void doQueuesLoop() - continue; // timeout, not necessary to bother gsoap - // r < 0, errno - #if GSOAP_VERSION >= 208103 -- if (soap_socket_errno == SOAP_EINTR) -+ if (soap_socket_errno == SOAP_EINTR) - #else -- if (soap_socket_errno(soap.master) == SOAP_EINTR) -+ if (soap_socket_errno(fd) == SOAP_EINTR) - #endif - rv = 0; // re-check if we should terminate - break; diff --git a/kernel-6.8.patch b/kernel-6.8.patch deleted file mode 100644 index 320218b..0000000 --- a/kernel-6.8.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Jiri Slaby -Subject: fix build with Linux 6.8 -Patch-mainline: no -References: kernel 6.8 - -strlcpy() was removed in commit d26270061ae6 (string: Remove strlcpy()), use -strscpy() instead. - -The patches fixes this (and similar): -modules_build_dir/default/vboxsf/vfsmod.c:1411:9: error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? - - -Signed-off-by: Jiri Slaby ---- - src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c | 6 +++--- - src/VBox/Additions/linux/sharedfolders/vfsmod.c | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -Index: VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c -=================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c -+++ VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c -@@ -1361,7 +1361,7 @@ static int vgdrvLinuxParamLogGrpSet(cons - RTLogGroupSettings(pLogger, pszValue); - } - else if (pParam->name[0] != 'd') -- strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp)); -+ strscpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp)); - - return 0; - } -@@ -1387,7 +1387,7 @@ static int vgdrvLinuxParamLogFlagsSet(co - RTLogFlags(pLogger, pszValue); - } - else if (pParam->name[0] != 'd') -- strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags)); -+ strscpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags)); - return 0; - } - -@@ -1412,7 +1412,7 @@ static int vgdrvLinuxParamLogDstSet(cons - RTLogDestinations(pLogger, pszValue); - } - else if (pParam->name[0] != 'd') -- strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst)); -+ strscpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst)); - return 0; - } - -Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/vfsmod.c -=================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c -+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/vfsmod.c -@@ -1408,7 +1408,7 @@ static int vbsf_parse_param(struct fs_co - switch (opt) { - case Opt_iocharset: - case Opt_nls: -- strlcpy(info->nls_name, param->string, sizeof(info->nls_name)); -+ strscpy(info->nls_name, param->string, sizeof(info->nls_name)); - break; - case Opt_uid: - info->uid = result.uint_32; -@@ -1469,7 +1469,7 @@ static int vbsf_parse_param(struct fs_co - printk(KERN_WARNING "vboxsf: cache mode (%u) is out of range, using default instead.\n", result.uint_32); - break; - case Opt_tag: -- strlcpy(info->szTag, param->string, sizeof(info->szTag)); -+ strscpy(info->szTag, param->string, sizeof(info->szTag)); - break; - default: - return invalf(fc, "Invalid mount option: '%s'", param->key); -@@ -1528,7 +1528,7 @@ static int vbsf_get_tree(struct fs_conte - } - - /* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */ -- strlcpy(info->name, fc->source, sizeof(info->name)); -+ strscpy(info->name, fc->source, sizeof(info->name)); - - # if RTLNX_VER_MAX(5,3,0) - return vfs_get_super(fc, vfs_get_independent_super, vbsf_read_super_aux); diff --git a/kernel-6.9.patch b/kernel-6.9.patch deleted file mode 100644 index c406207..0000000 --- a/kernel-6.9.patch +++ /dev/null @@ -1,75 +0,0 @@ -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 -@@ -938,8 +938,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB - { - skb_frag_t *pFrag = &skb_shinfo(pBuf)->frags[i]; - # if RTLNX_VER_MIN(5,4,0) || RTLNX_SUSE_MAJ_PREREQ(15, 2) -- pSG->aSegs[iSeg].cb = pFrag->bv_len; -- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset; -+# if RTLNX_VER_MIN(6,9,0) -+ pSG->aSegs[iSeg].cb = pFrag->len; -+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->offset; -+# else -+ pSG->aSegs[iSeg].cb = pFrag->bv_len; -+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset; -+#endif - # else /* < KERNEL_VERSION(5, 4, 0) */ - pSG->aSegs[iSeg].cb = pFrag->size; - pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset; -@@ -959,8 +964,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB - { - skb_frag_t *pFrag = &skb_shinfo(pFragBuf)->frags[i]; - # if RTLNX_VER_MIN(5,4,0) || RTLNX_SUSE_MAJ_PREREQ(15, 2) -- pSG->aSegs[iSeg].cb = pFrag->bv_len; -+# if RTLNX_VER_MIN(6,9,0) -+ pSG->aSegs[iSeg].cb = pFrag->len; -+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->offset; -+#else -+ pSG->aSegs[iSeg].cb = pFrag->bv_len; - pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset; -+#endif - # else /* < KERNEL_VERSION(5, 4, 0) */ - pSG->aSegs[iSeg].cb = pFrag->size; - pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset; -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 -@@ -1174,7 +1174,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir - u.Four = *p4d_offset(&u.Global, ulAddr); - if (RT_UNLIKELY(p4d_none(u.Four))) - return NULL; -+# if RTLNX_VER_MIN(6,9,0) -+ if (p4d_page(u.Four)) -+#else - if (p4d_large(u.Four)) -+#endif - { - pPage = p4d_page(u.Four); - AssertReturn(pPage, NULL); -@@ -1190,7 +1194,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir - if (RT_UNLIKELY(pud_none(u.Upper))) - return NULL; - # if RTLNX_VER_MIN(2,6,25) -+# if RTLNX_VER_MIN(6,9,0) -+ if (pud_page(u.Upper)) -+#else - if (pud_large(u.Upper)) -+#endif - { - pPage = pud_page(u.Upper); - AssertReturn(pPage, NULL); -@@ -1206,7 +1214,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir - if (RT_UNLIKELY(pmd_none(u.Middle))) - return NULL; - #if RTLNX_VER_MIN(2,6,0) -+# if RTLNX_VER_MIN(6,9,0) -+ if (pmd_page(u.Middle)) -+#else - if (pmd_large(u.Middle)) -+#endif - { - pPage = pmd_page(u.Middle); - AssertReturn(pPage, NULL); diff --git a/libxml21206.patch b/libxml21206.patch index d6f16ea..fe1ba0a 100644 --- a/libxml21206.patch +++ b/libxml21206.patch @@ -1,53 +1,7 @@ -Index: VirtualBox-7.0.14/src/VBox/Runtime/r3/xml.cpp +Index: VirtualBox-7.0.18/src/libs/libxml2-2.12.6/include/vboxconfig.h =================================================================== ---- VirtualBox-7.0.14.orig/src/VBox/Runtime/r3/xml.cpp -+++ VirtualBox-7.0.14/src/VBox/Runtime/r3/xml.cpp -@@ -1856,11 +1856,10 @@ static void xmlParserBaseGenericError(vo - va_end(args); - } - --static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF -+static void xmlStructuredErrorFunc(void *userData, const xmlError *error) RT_NOTHROW_DEF - { -- NOREF(pCtx); -- /* we expect that there is always a trailing NL */ -- LogRel(("XML error at '%s' line %d: %s", error->file, error->line, error->message)); -+ NOREF(userData); -+ NOREF(error); - } - - XmlParserBase::XmlParserBase() -@@ -1870,7 +1869,7 @@ XmlParserBase::XmlParserBase() - throw std::bad_alloc(); - /* per-thread so it must be here */ - xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError); -- xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError); -+// xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc); - } - - XmlParserBase::~XmlParserBase() -@@ -1931,7 +1930,7 @@ void XmlMemParser::read(const void *pvBu - pcszFilename, - NULL, // encoding = auto - options))) -- throw XmlError(xmlCtxtGetLastError(m_ctxt)); -+ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); - - doc.refreshInternals(); - } -@@ -2191,7 +2190,7 @@ void XmlFileParser::read(const RTCString - pcszFilename, - NULL, // encoding = auto - options))) -- throw XmlError(xmlCtxtGetLastError(m_ctxt)); -+ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt)); - - doc.refreshInternals(); - } -Index: VirtualBox-7.0.14/src/libs/libxml2-2.12.6/include/vboxconfig.h -=================================================================== ---- VirtualBox-7.0.14.orig/src/libs/libxml2-2.12.6/include/vboxconfig.h -+++ VirtualBox-7.0.14/src/libs/libxml2-2.12.6/include/vboxconfig.h +--- VirtualBox-7.0.18.orig/src/libs/libxml2-2.12.6/include/vboxconfig.h ++++ VirtualBox-7.0.18/src/libs/libxml2-2.12.6/include/vboxconfig.h @@ -387,7 +387,7 @@ #define PACKAGE_TARNAME "" diff --git a/virtualbox-kmp-preamble b/virtualbox-kmp-preamble index 79ed2ff..ae8b973 100644 --- a/virtualbox-kmp-preamble +++ b/virtualbox-kmp-preamble @@ -1,3 +1,4 @@ Requires: kernel-%1 Provides: virtualbox-kmp = %version +Supplements: (virtualbox-guest-tools and kernel-%1) diff --git a/virtualbox.changes b/virtualbox.changes index c920e05..4e056eb 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Tue May 7 12:47:44 UTC 2024 - Dominique Leuenberger + +- Have the KMP package supplement the kernel-flavor plus + virtualbox-guest-tools: -guest tools requires the kmp anyway, and + this allows libsolv to give some hints on 'what kmp' to prefer on + a system. + +--------------------------------------------------------------------- +Fri May 3 20:09:00 UTC 2024 - Larry Rainey + +- Version bump to VirtualBox 7.0.18 (released May 03 2024 by Oracle)) + +This is a maintenance release. The following items were fixed and/or added: + + Networking: Fixed an issue which caused host system crash when VM was using bridged or host-only network adapter (bug #22045) + Linux Guest Additions: Added more fixes to prevent UBSAN warnings (bug #21877) Fixes boo#1211941 + Linux Guest Additions: Fixed issue when time stamps were displayed incorrectly within mounted shared folder (bug #22047) + Permanent fix for boo#1220524. File fix_shared_folder_time.patch is deleted. + Files fixes_for_python.patch and handle_gsoap_208103.patch are deleted. + +VirtualBox 7.0.16 (released April 16 2024) + +This is a maintenance release. The following items were fixed and/or added: + + VMM: Fixed a guru meditation executing nested-guests using the KVM hypervisor in the guest on Intel hosts (bug #21805) + VMM: Fixed Linux VM crash on some recent AMD models + USB: Fixed issue when EHCI controller was mishandling short packets (bug #20726) + Audio: Introduced general improvements + VBoxManage and vboximg-mount: Updated usage information and documentation (bugs #21895, #21992 and #21993) + Guest Control: Fixed starting Windows guest processes in the correct Windows session (7.0 regression) + Linux Host: Fixed issue when VBox.sh was deleting wrong VBoxSVC IPC socket when VM was started using sudo (bug #20928) + Linux Host: Fixed kernel modules build failure when using GCC 13.2 + Linux Host and Guest: Added fixes related to UBSAN warnings discovered on recent Linux distributions (bug #21877) + Linux Host and Guest: Added possibility to prevent kernel module from automatic loading during system boot by adding mod_name.disabled=1 into kernel command line + Linux Host and Guest: Added initial support for kernel 6.9 (bug #22033). File kernel-6.9.patch is deleted. + Linux Host and Guest: Fixed mk_pte warning introduced in kernel 6.6 (bug #21898) + Linux Guest Additions: Added initial support for kernel 6.8. File kernel-6.8.patch is deleted. + Windows Guest Additions: Introduced general improvements in graphics area + +------------------------------------------------------------------- +Fri May 3 08:24:26 UTC 2024 - Michal Suchanek + +- Build kernel-longterm KMP on Tumbleweed (boo#1217824) + ------------------------------------------------------------------- Wed Apr 24 14:53:24 UTC 2024 - Larry Finger diff --git a/virtualbox.spec b/virtualbox.spec index b34c70c..7ab786b 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -20,6 +20,9 @@ ### macros for virtualbox-kmp ### %define main_package 0 %define kmp_package 1 +%if 0%{?suse_version} > 1600 +%define kmp_longterm 1 +%endif %define name_suffix kmp %define dash - %define package_summary Kernel modules for VirtualBox @@ -49,7 +52,7 @@ %endif # ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!! Name: virtualbox%{?dash}%{?name_suffix} -Version: 7.0.14 +Version: 7.0.18 Release: 0 Summary: %{package_summary} License: GPL-2.0-or-later @@ -130,8 +133,6 @@ Patch18: fix_conflict_between_host_and_guest.patch Patch19: modify_for_4_8_bo_move.patch # Disable experimental and incomplete CLOUD_NET Patch21: turn_off_cloud_net.patch -# Fix rpmlint error for script /lib/usr/virtualbox/vboxshell.py -Patch22: fixes_for_python.patch # xpcom: Support up to python 3.10 -- https://www.virtualbox.org/changeset/90537/vbox + https://www.virtualbox.org/changeset/86623/vbox, thanks to Archlinux Patch23: vbox-python-py310.patch # fix build of Python and dev package on openSUSE 11.3 (was vbox-detection.diff) @@ -148,8 +149,6 @@ Patch28: fixes_for_qt5.13.patch 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 GCC13 Patch36: fixes_for_gcc13.patch # Fix locking problem in 7.0.6 @@ -161,14 +160,14 @@ Patch39: fix_sdl_build.patch Patch40: fixes_for_leap.patch # Fixes for Leap 15.6 Patch41: fixes_for_leap15.6.patch -Patch42: kernel-6.8.patch Patch43: fixes_for_vboxconfig.patch -Patch44: kernel-6.9.patch Patch45: libxml21206.patch -Patch46: fix_shared_folder_time.patch # # Common BuildRequires for both virtualbox and virtualbox-kmp BuildRequires: %{kernel_module_package_buildreqs} +%if 0%{?kmp_longterm} +BuildRequires: kernel-syms-longterm +%endif BuildRequires: acpica BuildRequires: cmake-full BuildRequires: dwarves @@ -458,7 +457,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v %patch -P 18 -p1 %patch -P 19 -p1 %patch -P 21 -p1 -%patch -P 22 -p1 %patch -P 23 -p1 %patch -P 24 -p1 %patch -P 25 -p1 @@ -471,7 +469,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v %endif %patch -P 30 -p1 %patch -P 31 -p1 -%patch -P 32 -p1 %if 0%{gcc_version} >= 13 %patch -P 36 -p1 %endif @@ -482,11 +479,8 @@ This package contains the kernel-modules that VirtualBox uses to create or run v %if 0%{?sle_version} == 150600 && 0%{?is_opensuse} %patch -P 41 -p1 %endif -%patch -P 42 -p1 %patch -P 43 -p1 -%patch -P 44 -p1 %patch -P 45 -p1 -%patch -P 46 -p1 ### Documents for virtualbox main package ### %if %{main_package}