Package: virtualbox-source
Version: 4.1.18-dfsg-1.1
Severity: serious
Tags: upstream
Justification: fails to build from source (but built successfully in the past)
Please send upstream:
The virtualbox-source package, version 4.1.18-dfsg-1.1, fails to build with a
3.7.x kernel. It complains about an undefined symbol VM_RESERVED. This
constant was replaced in 3.7, see:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=314e51b9851b4f4e8ab302243ff5a6fc6147f379
Which is mentioned by:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=547b1e81afe3119f7daf702cc03b158495535a25
Find an attached patch (generated with quilt) to fix this issue.
-- System Information:
Debian Release: 7.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.6.10 (SMP w/4 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages virtualbox-source depends on:
ii build-essential 11.5
ii bzip2 1.0.6-4
ii debhelper 9.20120909
ii kbuild 1:0.1.9998svn2543-2
Versions of packages virtualbox-source recommends:
pn module-assistant <none>
virtualbox-source suggests no packages.
-- no debconf information
Index: modules/virtualbox/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- modules.orig/virtualbox/r0drv/linux/memobj-r0drv-linux.c 2012-12-29 20:05:16.153098332 +0100
+++ modules/virtualbox/r0drv/linux/memobj-r0drv-linux.c 2012-12-29 20:12:14.170179009 +0100
@@ -1448,7 +1448,11 @@
#if defined(VBOX_USE_INSERT_PAGE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
rc = vm_insert_page(vma, ulAddrCur, pMemLnxToMap->apPages[iPage]);
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; /* This flag helps making 100% sure some bad stuff wont happen (swap, core, ++). */
+# else
vma->vm_flags |= VM_RESERVED; /* This flag helps making 100% sure some bad stuff wont happen (swap, core, ++). */
+# endif
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
rc = remap_pfn_range(vma, ulAddrCur, page_to_pfn(pMemLnxToMap->apPages[iPage]), PAGE_SIZE, fPg);
#elif defined(VBOX_USE_PAE_HACK)
Index: modules/virtualbox/vboxpci/VBoxPciInternal.h
===================================================================
--- modules.orig/virtualbox/vboxpci/VBoxPciInternal.h 2012-10-18 22:46:48.000000000 +0200
+++ modules/virtualbox/vboxpci/VBoxPciInternal.h 2012-12-29 20:13:55.157199146 +0100
@@ -30,6 +30,7 @@
#endif
#ifdef VBOX_WITH_IOMMU
+#include <linux/err.h>
#include <linux/errno.h>
#include <linux/iommu.h>
#endif