From ee6edb8af5f0dcaf35b89ebf7a64ab6ae07605cf Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sun, 23 Jul 2017 17:33:11 -0400 Subject: virtualbox: 5.1.22 -> 5.1.24 --- .../virtualization/virtualbox/default.nix | 10 +-- .../virtualbox/guest-additions/default.nix | 5 +- .../virtualization/virtualbox/linux-4.12.patch | 80 ---------------------- 3 files changed, 6 insertions(+), 89 deletions(-) delete mode 100644 pkgs/applications/virtualization/virtualbox/linux-4.12.patch diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 6675068bda97..a67663d56dfc 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -18,10 +18,10 @@ with stdenv.lib; let python = python2; buildType = "release"; - extpack = "244e6f450cba64e0b025711050db3c43e6ce77e12cd80bcd08796315a90c8aaf"; - extpackRev = "115126"; - main = "fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899"; - version = "5.1.22"; + extpack = "1952ikz4xsjgdd0pzdx1riwaingyhkxp0ind31yzqc4d0hp8l6b5"; + extpackRev = "117012"; + main = "0q5vjsih4ndn1b0s9l1ppxng6dljld5bin5nqfrhvgr2ldlv2bgf"; + version = "5.1.24"; # See https://github.com/NixOS/nixpkgs/issues/672 for details extensionPack = requireFile rec { @@ -88,7 +88,7 @@ in stdenv.mkDerivation { ''; patches = optional enableHardening ./hardened.patch - ++ [ ./qtx11extras.patch ./linux-4.12.patch ]; + ++ [ ./qtx11extras.patch ]; postPatch = '' sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \ diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 8865022c23e4..e19cb7486070 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "54df14f234b6aa484b94939ab0f435b5dd859417612b65a399ecc34a62060380"; + sha256 = "0hxxv2707fb6x34m5cmjhj73sxwgmy2dgir7mbbdh9wivw07b9q1"; }; KERN_DIR = "${kernel.dev}/lib/modules/*/build"; @@ -62,9 +62,6 @@ stdenv.mkDerivation { for i in * do cd $i - # Files within the guest additions ISO are using DOS line endings - sed -re '/^(@@|---|\+\+\+)/!s/$/\r/' ${../linux-4.12.patch} \ - | patch -d vboxguest -p4 find . -type f | xargs sed 's/depmod -a/true/' -i make cd .. diff --git a/pkgs/applications/virtualization/virtualbox/linux-4.12.patch b/pkgs/applications/virtualization/virtualbox/linux-4.12.patch deleted file mode 100644 index 7157365466f9..000000000000 --- a/pkgs/applications/virtualization/virtualbox/linux-4.12.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 47fee9325e3b5feed0dbc4ba9e2de77c6d55e3bb -Author: vboxsync -Date: Wed May 17 09:42:23 2017 +0000 - - Runtime/r0drv: Linux 4.12 5-level page table adaptions - - - git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@66927 cfe28804-0f27-0410-a406-dd0f0b0b656f - -diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -index 28dc33f963..41ed058860 100644 ---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -@@ -902,6 +902,9 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) - union - { - pgd_t Global; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d_t Four; -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) - pud_t Upper; - #endif -@@ -917,12 +920,26 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) - u.Global = *pgd_offset(current->active_mm, ulAddr); - if (RT_UNLIKELY(pgd_none(u.Global))) - return NULL; -- --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ u.Four = *p4d_offset(&u.Global, ulAddr); -+ if (RT_UNLIKELY(p4d_none(u.Four))) -+ return NULL; -+ if (p4d_large(u.Four)) -+ { -+ pPage = p4d_page(u.Four); -+ AssertReturn(pPage, NULL); -+ pfn = page_to_pfn(pPage); /* doing the safe way... */ -+ AssertCompile(P4D_SHIFT - PAGE_SHIFT < 31); -+ pfn += (ulAddr >> PAGE_SHIFT) & ((UINT32_C(1) << (P4D_SHIFT - PAGE_SHIFT)) - 1); -+ return pfn_to_page(pfn); -+ } -+ u.Upper = *pud_offset(&u.Four, ulAddr); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) - u.Upper = *pud_offset(&u.Global, ulAddr); -+#endif - if (RT_UNLIKELY(pud_none(u.Upper))) - return NULL; --# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) - if (pud_large(u.Upper)) - { - pPage = pud_page(u.Upper); -@@ -931,8 +948,8 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) - pfn += (ulAddr >> PAGE_SHIFT) & ((UINT32_C(1) << (PUD_SHIFT - PAGE_SHIFT)) - 1); - return pfn_to_page(pfn); - } --# endif -- -+#endif -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) - u.Middle = *pmd_offset(&u.Upper, ulAddr); - #else /* < 2.6.11 */ - u.Middle = *pmd_offset(&u.Global, ulAddr); -diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -index 5afdee9e71..20aab0817f 100644 ---- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -@@ -159,6 +159,11 @@ - # include - #endif - -+/* for set_pages_x() */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+# include -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0) - # include - #else -- cgit 1.4.1