Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
Attached patch is targetted for Jessie. In Debian Bug #783142, it was reported that VBox fails to run on machines with Intel Broadwell architecture. Thanks for Gianfranco for preparing the patch, and Moritz Muhlenhoff for reporting the bug and cherry picking the fix from upstream. Please review and respond back to this email. Upon receiving your ACK, I will do the upload. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.0.2+ (SMP w/4 CPU cores) Locale: LANG=en_IN.utf8, LC_CTYPE=en_IN.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog index bbdde7a..9748983 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +virtualbox (4.3.18-dfsg-4) jessie; urgency=medium + + [ Moritz Mühlenhoff ] + * d/p/37-disable-smap.patch, cherry-pick upstream patch to fix a kernel + paging issue (LP: #1437845, Closes: #783142). + + -- Ritesh Raj Sarraf <r...@debian.org> Wed, 13 May 2015 13:53:36 +0530 + virtualbox (4.3.18-dfsg-3) unstable; urgency=medium * Conflict with upstream proprietary packages 4.3 series. diff --git a/debian/patches/37-disable-smap.patch b/debian/patches/37-disable-smap.patch new file mode 100644 index 0000000..c4f52bc --- /dev/null +++ b/debian/patches/37-disable-smap.patch @@ -0,0 +1,58 @@ +Description: Disable SMAP when during VirtualBox kernel calls +This fixes virtualbox on Broadwell CPUs + +https://www.virtualbox.org/ticket/13820 +Author: frank.mehn...@oracle.com + +--- virtualbox-4.3.18-dfsg.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c ++++ virtualbox-4.3.18-dfsg/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c +@@ -48,6 +48,12 @@ + # include <iprt/power.h> + # define VBOX_WITH_SUSPEND_NOTIFICATION + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0) ++# include <asm/smap.h> ++#else ++static inline void clac(void) { } ++static inline void stac(void) { } ++#endif + + #include <linux/sched.h> + #ifdef CONFIG_DEVFS_FS +@@ -622,6 +628,7 @@ static int VBoxDrvLinuxIOCtl(struct inod + #endif + { + PSUPDRVSESSION pSession = (PSUPDRVSESSION)pFilp->private_data; ++ int rc; + + /* + * Deal with the two high-speed IOCtl that takes it's arguments from +@@ -632,12 +639,15 @@ static int VBoxDrvLinuxIOCtl(struct inod + || uCmd == SUP_IOCTL_FAST_DO_HM_RUN + || uCmd == SUP_IOCTL_FAST_DO_NOP) + && pSession->fUnrestricted == true)) +- return supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession); ++ { ++ stac(); ++ rc = supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession); ++ clac(); ++ return rc; ++ } + return VBoxDrvLinuxIOCtlSlow(pFilp, uCmd, ulArg, pSession); + + #else /* !HAVE_UNLOCKED_IOCTL */ +- +- int rc; + unlock_kernel(); + if (RT_LIKELY( ( uCmd == SUP_IOCTL_FAST_DO_RAW_RUN + || uCmd == SUP_IOCTL_FAST_DO_HM_RUN +@@ -715,7 +725,9 @@ static int VBoxDrvLinuxIOCtlSlow(struct + /* + * Process the IOCtl. + */ ++ stac(); + rc = supdrvIOCtl(uCmd, &g_DevExt, pSession, pHdr, cbBuf); ++ clac(); + + /* + * Copy ioctl data and output buffer back to user space. diff --git a/debian/patches/series b/debian/patches/series index 5b32c83..2af312a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -14,3 +14,4 @@ 32-disable-guest-version-check.patch 35-libvdeplug-soname.patch 36-fix-vnc-version-string.patch +37-disable-smap.patch