up to 6.1.18
authorJan Palus <atler@pld-linux.org>
Thu, 21 Jan 2021 19:11:08 +0000 (20:11 +0100)
committerJan Palus <atler@pld-linux.org>
Thu, 21 Jan 2021 19:11:08 +0000 (20:11 +0100)
VirtualBox.spec
kernel-5.10.patch [deleted file]

index 93e73f5b536ae8301506c64f08a6313017bc9c3b..3e78c6c4fc9f105bec6c3ef7d1a0f553fffef3ac 100644 (file)
@@ -47,19 +47,19 @@ exit 1
 
 %define                qtver   5.6.0
 
-%define                rel             3
+%define                rel             1
 %define                pname           VirtualBox
 Summary:       VirtualBox - x86 hardware virtualizer
 Summary(pl.UTF-8):     VirtualBox - wirtualizator sprzętu x86
 Name:          %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version:       6.1.16
+Version:       6.1.18
 Release:       %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 License:       GPL v2
 Group:         Applications/Emulators
 Source0:       http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
-# Source0-md5: a12a647f6c114f2cb1571089b36841fe
+# Source0-md5: c61001386eb3822ab8f06d688a82e84b
 Source1:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 5710cdc38e4d7185b3df1c969b4cb267
+# Source1-md5: dc3c3f818d27a78f1accfcda05e13f85
 Source2:       vboxservice.init
 Source3:       vboxservice.service
 Source4:       vboxservice.sysconfig
@@ -87,7 +87,6 @@ Patch14:      %{pname}-multipython.patch
 Patch15:       %{pname}-lightdm-1.19.2.patch
 Patch16:       %{pname}-no-vboxvideo.patch
 Patch17:       qt5-gl.patch
-Patch18:       kernel-5.10.patch
 URL:           http://www.virtualbox.org/
 %if %{with userspace}
 %ifarch %{x8664}
@@ -554,7 +553,6 @@ echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_ker
 %patch15 -p0
 %patch16 -p0
 %patch17 -p1
-%patch18 -p1
 
 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
        -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
diff --git a/kernel-5.10.patch b/kernel-5.10.patch
deleted file mode 100644 (file)
index 729235d..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-Index: b/src/VBox/Additions/linux/sharedfolders/regops.c
-===================================================================
---- a/src/VBox/Additions/linux/sharedfolders/regops.c
-+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
-@@ -1401,7 +1401,10 @@ static int vbsf_lock_user_pages_failed_c
-     /*
-      * Check that this is valid user memory that is actually in the kernel range.
-      */
--#if RTLNX_VER_MIN(5,0,0) || RTLNX_RHEL_MIN(8,1)
-+#if RTLNX_VER_MIN(5,10,0)
-+    if (   access_ok((void *)uPtrFrom, cPages << PAGE_SHIFT)
-+        && uPtrFrom >= TASK_SIZE_MAX)
-+#elif RTLNX_VER_MIN(5,0,0) || RTLNX_RHEL_MIN(8,1)
-     if (   access_ok((void *)uPtrFrom, cPages << PAGE_SHIFT)
-         && uPtrFrom >= USER_DS.seg)
- #else
-Index: b/src/VBox/Additions/linux/drm/vbox_drv.h
-===================================================================
---- a/src/VBox/Additions/linux/drm/vbox_drv.h
-+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
-@@ -205,6 +205,13 @@ static inline void drm_gem_object_put(st
- }
- #endif
-+#ifndef TTM_PL_FLAG_SYSTEM
-+#define TTM_PL_FLAG_SYSTEM      (1 << TTM_PL_SYSTEM)
-+#endif
-+#ifndef TTM_PL_FLAG_VRAM
-+#define TTM_PL_FLAG_VRAM        (1 << TTM_PL_VRAM)
-+#endif
-+
- #define DRIVER_AUTHOR       VBOX_VENDOR
- #define DRIVER_NAME         "vboxvideo"
-Index: b/src/VBox/Additions/linux/drm/vbox_ttm.c
-===================================================================
---- a/src/VBox/Additions/linux/drm/vbox_ttm.c
-+++ b/src/VBox/Additions/linux/drm/vbox_ttm.c
-@@ -373,11 +373,23 @@ void vbox_ttm_placement(struct vbox_bo *
-       bo->placement.busy_placement = bo->placements;
-       if (domain & TTM_PL_FLAG_VRAM)
-+#if RTLNX_VER_MIN(5,10,0)
-+              bo->placements[c].mem_type = TTM_PL_VRAM;
-+              PLACEMENT_FLAGS(bo->placements[c++]) =
-+                  TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED;
-+#else
-               PLACEMENT_FLAGS(bo->placements[c++]) =
-                   TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM;
-+#endif
-       if (domain & TTM_PL_FLAG_SYSTEM)
-+#if RTLNX_VER_MIN(5,10,0)
-+              bo->placements[c].mem_type = TTM_PL_SYSTEM;
-+              PLACEMENT_FLAGS(bo->placements[c++]) =
-+                  TTM_PL_MASK_CACHING;
-+#else
-               PLACEMENT_FLAGS(bo->placements[c++]) =
-                   TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
-+#endif
-       if (!c)
-               PLACEMENT_FLAGS(bo->placements[c++]) =
-                   TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
-Index: src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-===================================================================
---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c        (Revision 141658)
-+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c        (Arbeitskopie)
-@@ -56,9 +56,12 @@
-  * Whether we use alloc_vm_area (3.2+) for executable memory.
-  * This is a must for 5.8+, but we enable it all the way back to 3.2.x for
-  * better W^R compliance (fExecutable flag). */
--#if RTLNX_VER_MIN(3,2,0) || defined(DOXYGEN_RUNNING)
-+#if RTLNX_VER_RANGE(3,2,0, 5,10,0) || defined(DOXYGEN_RUNNING)
- # define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
- #endif
-+#if RTLNX_VER_MIN(5,10,0) || defined(DOXYGEN_RUNNING)
-+# define IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC
-+#endif
- /*
-  * 2.6.29+ kernels don't work with remap_pfn_range() anymore because
-@@ -502,7 +505,43 @@
- }
-+#ifdef IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC
- /**
-+ * User data passed to the apply_to_page_range() callback.
-+ */
-+typedef struct LNXAPPLYPGRANGE
-+{
-+    /** Pointer to the memory object. */
-+    PRTR0MEMOBJLNX pMemLnx;
-+    /** The page protection flags to apply. */
-+    pgprot_t       fPg;
-+} LNXAPPLYPGRANGE;
-+/** Pointer to the user data. */
-+typedef LNXAPPLYPGRANGE *PLNXAPPLYPGRANGE;
-+/** Pointer to the const user data. */
-+typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE;
-+
-+/**
-+ * Callback called in apply_to_page_range().
-+ *
-+ * @returns Linux status code.
-+ * @param   pPte                Pointer to the page table entry for the given address.
-+ * @param   uAddr               The address to apply the new protection to.
-+ * @param   pvUser              The opaque user data.
-+ */
-+static int rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser)
-+{
-+    PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser;
-+    PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx;
-+    uint32_t idxPg = (uAddr - (unsigned long)pMemLnx->Core.pv) >> PAGE_SHIFT;
-+
-+    set_pte(pPte, mk_pte(pMemLnx->apPages[idxPg], pArgs->fPg));
-+    return 0;
-+}
-+#endif
-+
-+
-+/**
-  * Maps the allocation into ring-0.
-  *
-  * This will update the RTR0MEMOBJLNX::Core.pv and RTR0MEMOBJ::fMappedToRing0 members.
-@@ -584,6 +623,11 @@
-         else
- # endif
-         {
-+#  if defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC)
-+            if (fExecutable)
-+                pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */
-+#  endif
-+
- # ifdef VM_MAP
-             pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
- # else
-@@ -1851,6 +1895,21 @@
-         preempt_enable();
-         return VINF_SUCCESS;
-     }
-+# elif defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC)
-+    PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem;
-+    if (   pMemLnx->fExecutable
-+        && pMemLnx->fMappedToRing0)
-+    {
-+        LNXAPPLYPGRANGE Args;
-+        Args.pMemLnx = pMemLnx;
-+        Args.fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/);
-+        int rcLnx = apply_to_page_range(current->active_mm, (unsigned long)pMemLnx->Core.pv + offSub, cbSub,
-+                                        rtR0MemObjLinuxApplyPageRange, (void *)&Args);
-+        if (rcLnx)
-+            return VERR_NOT_SUPPORTED;
-+
-+        return VINF_SUCCESS;
-+    }
- # endif
-     NOREF(pMem);
This page took 0.135352 seconds and 4 git commands to generate.