507edc9de0
- Fix build error on Factory;Staging due to libxml 2.12.6. Added file libxml21206.patch. Added file kernel-6.9.patch to fix builds on kernel 6.9. OBS-URL: https://build.opensuse.org/request/show/1169265 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=734
76 lines
3.0 KiB
Diff
76 lines
3.0 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
|
|
@@ -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);
|