I've experienced the same error. I found a patch correcting this bug for
kernel 3.7+, but then I got an error on linux-headers included file
(include/linux/iommu.h) :
iommu.h:272:2: error: implicit declaration of function ‘ERR_PTR’
[-Werror=implicit-function-declaration]
This bug isn't strictly on virtualbox-dkms, but to resolve it, you just
have to add
#include "err.h"
to /usr/src/linux-headers-<version>-common/include/linux/iommu.h, at
line 25 (after 2 other #include).
I joined the patch file, but i don't think it's in Debian standards (I
found it on another distro mailing list), but it works if you apply it
from /var/lib/dkms/virtualbox/<version_of_virtualbox>/source.
I'm sorry if this report is bad or something, as it's my first. I hope
this could be useful to anyone.
--- a/r0drv/linux/memobj-r0drv-linux.c
+++ b/r0drv/linux/memobj-r0drv-linux.c
@@ -1448,7 +1448,13 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
#if defined(VBOX_USE_INSERT_PAGE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
rc = vm_insert_page(vma, ulAddrCur, pMemLnxToMap->apPages[iPage]);
- vma->vm_flags |= VM_RESERVED; /* This flag helps making 100% sure some bad stuff wont happen (swap, core, ++). */
+ /* Thes flags help making 100% sure some bad stuff wont happen (swap, core, ++).
+ * See remap_pfn_range() in mm/memory.c */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#else
+ vma->vm_flags |= VM_RESERVED;
+#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)