Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virtualbox for openSUSE:Factory 
checked in at 2025-06-11 18:34:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
 and      /work/SRC/openSUSE:Factory/.virtualbox.new.19631 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virtualbox"

Wed Jun 11 18:34:30 2025 rev:293 rq:1284728 version:7.1.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes    2025-06-06 
22:41:04.943894331 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new.19631/virtualbox.changes 
2025-06-11 18:34:51.839960384 +0200
@@ -1,0 +2,8 @@
+Wed Jun 11 07:18:15 UTC 2025 - Jiri Slaby <jsl...@suse.cz>
+
+- fix build against 6.16, add:
+  * kernel-6.16-READ-WRITE.patch
+  * kernel-6.16-from_timer.patch
+  * kernel-6.16-page-index.patch
+
+-------------------------------------------------------------------

New:
----
  kernel-6.16-READ-WRITE.patch
  kernel-6.16-from_timer.patch
  kernel-6.16-page-index.patch

BETA DEBUG BEGIN:
  New:- fix build against 6.16, add:
  * kernel-6.16-READ-WRITE.patch
  * kernel-6.16-from_timer.patch
  New:  * kernel-6.16-READ-WRITE.patch
  * kernel-6.16-from_timer.patch
  * kernel-6.16-page-index.patch
  New:  * kernel-6.16-from_timer.patch
  * kernel-6.16-page-index.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.4AMaxF/_old  2025-06-11 18:34:53.400024861 +0200
+++ /var/tmp/diff_new_pack.4AMaxF/_new  2025-06-11 18:34:53.400024861 +0200
@@ -126,6 +126,9 @@
 Patch10:        fix_for_leap15.5.patch
 Patch11:        cxx17.patch
 Patch12:        host-source.patch
+Patch13:        kernel-6.16-READ-WRITE.patch
+Patch14:        kernel-6.16-from_timer.patch
+Patch15:        kernel-6.16-page-index.patch
 Patch20:        gentoo-C23.patch
 #
 # Common BuildRequires for both virtualbox and virtualbox-kmp


++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.4AMaxF/_old  2025-06-11 18:34:53.508029324 +0200
+++ /var/tmp/diff_new_pack.4AMaxF/_new  2025-06-11 18:34:53.512029490 +0200
@@ -1,5 +1,5 @@
-mtime: 1749073218
-commit: 652f6fa07d6096aa136a2ff38001d9adf9e4d5738495a872619485de9a814acd
+mtime: 1749626328
+commit: c76e78822d70f8332d8c78e01af8be351ae4f2d9d8243d341003747128873a1c
 url: https://src.opensuse.org/jengelh/virtualbox
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ kernel-6.16-READ-WRITE.patch ++++++
From: Jiri Slaby <jsl...@suse.cz>
Subject: hm_vmx: Don't expand READ+WRITE

They are defined as:
 #define READ                   0
 #define WRITE                  1

since 6.16:
commit 4ef5211ee68113070bd42142f06347866675055e
Author: Ingo Molnar <mi...@kernel.org>
Date:   Mon Mar 24 12:50:24 2025 +0200

    kernel.h: move READ/WRITE definitions to <linux/types.h>


That causes build failures indeed:
./include/VBox/vmm/hm_vmx.h:548:29: error: 'VMX_BF_EPT_PT_0_MASK' undeclared 
here (not in a function); did you mean 'VMX_BF_EPT_PT_READ_MASK'?


That 0_MASK should really be READ_MASK.

---
 include/VBox/vmm/hm_vmx.h |    2 ++
 1 file changed, 2 insertions(+)

--- a/include/VBox/vmm/hm_vmx.h
+++ b/include/VBox/vmm/hm_vmx.h
@@ -542,6 +542,8 @@
 /** Suppress \#VE. */
 #define VMX_BF_EPT_PT_SUPPRESS_VE_SHIFT                 63
 #define VMX_BF_EPT_PT_SUPPRESS_VE_MASK                  
UINT64_C(0x8000000000000000)
+#undef READ
+#undef WRITE
 RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_EPT_PT_, UINT64_C(0), UINT64_MAX,
                             (READ, WRITE, EXECUTE, MEMTYPE, IGNORE_PAT, IGN_7, 
ACCESSED, DIRTY, EXECUTE_USER, IGN_59_11,
                             SUPER_SHW_STACK, IGN_62_61, SUPPRESS_VE));

++++++ kernel-6.16-from_timer.patch ++++++
From: Jiri Slaby <jsl...@suse.cz>
Subject: timer-r0drv-linux: use timer_container_of

from_timer() was renamed to timer_container_of() in 6.16's:
commit 41cb08555c4164996d67c78b3bf1c658075b75f1
Author: Ingo Molnar <mi...@kernel.org>
Date:   Fri May 9 07:51:14 2025 +0200

    treewide, timers: Rename from_timer() to timer_container_of()

---
 src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c
+++ b/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c
@@ -748,7 +748,11 @@ static enum hrtimer_restart rtTimerLinux
  */
 static void rtTimerLinuxStdCallback(struct timer_list *pLnxTimer)
 {
+#if RTLNX_VER_MIN(6,16,0)
+    PRTTIMERLNXSUBTIMER pSubTimer = timer_container_of(pSubTimer, pLnxTimer, 
u.Std.LnxTimer);
+#else
     PRTTIMERLNXSUBTIMER pSubTimer = from_timer(pSubTimer, pLnxTimer, 
u.Std.LnxTimer);
+#endif
 #else
 /**
  * Timer callback function for standard timers.

++++++ kernel-6.16-page-index.patch ++++++
From: Jiri Slaby <jsl...@suse.cz>
Subject: sharedfolders/regops: use __folio_index

page::index was renamed to page::__folio_index in 6.16's:
commit acc53a0b4c156877773da6e9eea4113dc7e770ae
Author: Matthew Wilcox (Oracle) <wi...@infradead.org>
Date:   Wed May 14 19:15:07 2025 +0100

    mm: rename page->index to page->__folio_index

---
 src/VBox/Additions/linux/sharedfolders/regops.c |   40 +++++++++++++++++++++---
 1 file changed, 36 insertions(+), 4 deletions(-)

--- a/src/VBox/Additions/linux/sharedfolders/regops.c
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -1789,7 +1789,11 @@ static void vbsf_reg_write_sync_page_cac
             struct page  *pDstPage   = find_lock_page(mapping, idxPage);
             if (pDstPage) {
                 if (   pDstPage->mapping == mapping /* ignore if re-purposed 
(paranoia) */
+#if RTLNX_VER_MIN(6,16,0)
+                    && pDstPage->__folio_index == idxPage
+#else
                     && pDstPage->index == idxPage
+#endif
                     && !PageDirty(pDstPage)         /* ignore if dirty */
                     && !PageWriteback(pDstPage)     /* ignore if being written 
back */ ) {
                     /*
@@ -1820,7 +1824,13 @@ static void vbsf_reg_write_sync_page_cac
 # endif
                 } else
                     SFLOGFLOW(("vbsf_reg_write_sync_page_cache: Skipping page 
%p: mapping=%p (vs %p) writeback=%d offset=%#lx (vs%#lx)\n",
-                               pDstPage, pDstPage->mapping, mapping, 
PageWriteback(pDstPage), pDstPage->index, idxPage));
+                               pDstPage, pDstPage->mapping, mapping, 
PageWriteback(pDstPage),
+#if RTLNX_VER_MIN(6,16,0)
+                              pDstPage->__folio_index,
+#else
+                              pDstPage->index,
+#endif
+                              idxPage));
                 unlock_page(pDstPage);
                 vbsf_put_page(pDstPage);
             }
@@ -3632,7 +3642,13 @@ static int vbsf_readpage(struct file *fi
     struct inode *inode = VBSF_GET_F_DENTRY(file)->d_inode;
     int           err;
 
-    SFLOGFLOW(("vbsf_readpage: inode=%p file=%p page=%p off=%#llx\n", inode, 
file, page, (uint64_t)page->index << PAGE_SHIFT));
+    SFLOGFLOW(("vbsf_readpage: inode=%p file=%p page=%p off=%#llx\n", inode, 
file, page,
+#if RTLNX_VER_MIN(6,16,0)
+              (uint64_t)page->__folio_index << PAGE_SHIFT
+#else
+              (uint64_t)page->index << PAGE_SHIFT
+#endif
+             ));
     Assert(PageLocked(page));
 
     if (PageUptodate(page)) {
@@ -3653,7 +3669,11 @@ static int vbsf_readpage(struct file *fi
             vrc = VbglR0SfHostReqReadPgLst(pSuperInfo->map.root,
                                            pReq,
                                            sf_r->Handle.hHost,
+#if RTLNX_VER_MIN(6,16,0)
+                                           (uint64_t)page->__folio_index << 
PAGE_SHIFT,
+#else
                                            (uint64_t)page->index << PAGE_SHIFT,
+#endif
                                            PAGE_SIZE,
                                            1 /*cPages*/);
 
@@ -3709,16 +3729,28 @@ static int vbsf_writepage(struct page *p
     int                     err;
 
     SFLOGFLOW(("vbsf_writepage: inode=%p page=%p off=%#llx pHandle=%p 
(%#llx)\n",
-               inode, page, (uint64_t)page->index << PAGE_SHIFT, pHandle, 
pHandle ? pHandle->hHost : 0));
-
+               inode, page,
+#if RTLNX_VER_MIN(6,16,0)
+              (uint64_t)page->__folio_index << PAGE_SHIFT,
+#else
+              (uint64_t)page->index << PAGE_SHIFT,
+#endif
+              pHandle, pHandle ? pHandle->hHost : 0));
     if (pHandle) {
         struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb);
         VBOXSFWRITEPGLSTREQ    *pReq       = (VBOXSFWRITEPGLSTREQ 
*)VbglR0PhysHeapAlloc(sizeof(*pReq));
         if (pReq) {
             uint64_t const cbFile          = i_size_read(inode);
+
+#if RTLNX_VER_MIN(6,16,0)
+            uint64_t const offInFile       = (uint64_t)page->__folio_index << 
PAGE_SHIFT;
+            uint32_t const cbToWrite       = page->__folio_index != (cbFile >> 
PAGE_SHIFT) ? PAGE_SIZE
+                                           : (uint32_t)cbFile & 
(uint32_t)PAGE_OFFSET_MASK;
+#else
             uint64_t const offInFile       = (uint64_t)page->index << 
PAGE_SHIFT;
             uint32_t const cbToWrite       = page->index != (cbFile >> 
PAGE_SHIFT) ? PAGE_SIZE
                                            : (uint32_t)cbFile & 
(uint32_t)PAGE_OFFSET_MASK;
+#endif
             int            vrc;
 
             pReq->PgLst.offFirstPage = 0;

Reply via email to