diff options
author | David C. Rankin | 2019-09-21 03:44:54 -0500 |
---|---|---|
committer | David C. Rankin | 2019-09-21 03:44:54 -0500 |
commit | eea6566e3c876ded0f1ade978d7b4df1a6925e7d (patch) | |
tree | a4511e9ffa2ac16cb69b0eb4dd20e3d9b67e0392 | |
parent | d35a9569a28bd5d2799c1b3dfa36b9f7893f3949 (diff) | |
download | aur-eea6566e3c876ded0f1ade978d7b4df1a6925e7d.tar.gz |
virtualbox-bin-5 5.2.32-2 Linux-5.3
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 015-linux-5-3.patch | 76 | ||||
-rw-r--r-- | PKGBUILD | 10 |
3 files changed, 88 insertions, 2 deletions
@@ -1,7 +1,7 @@ pkgbase = virtualbox-bin-5 pkgdesc = Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version 5) pkgver = 5.2.32 - pkgrel = 1 + pkgrel = 2 url = https://www.virtualbox.org/ install = virtualbox-bin.install arch = x86_64 @@ -47,6 +47,7 @@ pkgbase = virtualbox-bin-5 source = do_dkms source = dkms.conf source = 009-include-path.patch + source = 015-linux-5-3.patch source = http://download.virtualbox.org/virtualbox/5.2.32/VirtualBox-5.2.32-132073-Linux_amd64.run sha256sums = bc172f227b1f894434fad47eb614b2504ff0c66c0dcf0bd3f3b92f12254f2e29 sha256sums = 23e3e0e6abfaa69bf0aa046c0ee070d19435b97cb4bfbb16bba65a2783502154 @@ -59,6 +60,7 @@ pkgbase = virtualbox-bin-5 sha256sums = cc1c0500ab07bc13563d99037f776bf64bdc90bb521e31e2e0b04e42ea5bb36a sha256sums = e9df0fff15184d0a90abe17707bdbe1931582433bbc14ded4fb3b0252653c801 sha256sums = 5112f0e1ba3bd0bd92ef2edb2d21024e265abb02841aa29aa05410526adc273f + sha256sums = 37593d09bcde15a056b93d56ad47877a9bbac140474da2c66648871a0537998a sha256sums = f0dd3897338016e601a0f5d9e9223f77f6366bade181ca2b440b3fdb0ed2cf48 pkgname = virtualbox-bin-5 diff --git a/015-linux-5-3.patch b/015-linux-5-3.patch new file mode 100644 index 000000000000..3cc6b383e353 --- /dev/null +++ b/015-linux-5-3.patch @@ -0,0 +1,76 @@ +diff --git a/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c b/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c +index 15ecd351..a2f2a284 100644 +--- a/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c ++++ b/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c +@@ -2123,7 +2123,9 @@ static int vboxNetFltLinuxEnumeratorCallback(struct notifier_block *self, unsign + #endif + if (in_dev != NULL) + { +- for_ifa(in_dev) { ++ struct in_ifaddr *ifa; ++ ++ for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { + if (VBOX_IPV4_IS_LOOPBACK(ifa->ifa_address)) + return NOTIFY_OK; + +@@ -2137,7 +2139,7 @@ static int vboxNetFltLinuxEnumeratorCallback(struct notifier_block *self, unsign + + pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort, + /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address); +- } endfor_ifa(in_dev); ++ } + } + + /* +diff --git a/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c b/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c +index ca480683..72b25bb8 100644 +--- a/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c ++++ b/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c +@@ -283,12 +283,15 @@ RTDECL(int) RTMpOnAll(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2) + if (RTCpuSetCount(&OnlineSet) > 1) + { + /* Fire the function on all other CPUs without waiting for completion. */ +-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) ++ smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */); ++# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) + int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */); ++ Assert(!rc); NOREF(rc); + # else + int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */); +-# endif + Assert(!rc); NOREF(rc); ++# endif + } + #endif + +@@ -326,7 +329,6 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2) + { + #ifdef CONFIG_SMP + IPRT_LINUX_SAVE_EFL_AC(); +- int rc; + RTMPARGS Args; + + RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER; +@@ -337,14 +339,17 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2) + Args.cHits = 0; + + RTThreadPreemptDisable(&PreemptState); +-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) +- rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */); ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) ++ smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */); ++# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) ++ int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */); ++ Assert(rc == 0); NOREF(rc); + # else /* older kernels */ +- rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */); ++ int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */); ++ Assert(rc == 0); NOREF(rc); + # endif /* older kernels */ + RTThreadPreemptRestore(&PreemptState); + +- Assert(rc == 0); NOREF(rc); + IPRT_LINUX_RESTORE_EFL_AC(); + #else + RT_NOREF(pfnWorker, pvUser1, pvUser2); @@ -4,7 +4,7 @@ pkgname=virtualbox-bin-5 pkgver=5.2.32 _build=132073 _rev=75085 -pkgrel=1 +pkgrel=2 pkgdesc='Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version 5)' arch=('x86_64') url='https://www.virtualbox.org/' @@ -33,6 +33,7 @@ source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBoxSDK-${pk 'do_dkms' 'dkms.conf' '009-include-path.patch' + '015-linux-5-3.patch' "http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_amd64.run") noextract=("VirtualBoxSDK-${pkgver}-${_build}.zip") sha256sums=('bc172f227b1f894434fad47eb614b2504ff0c66c0dcf0bd3f3b92f12254f2e29' @@ -46,6 +47,7 @@ sha256sums=('bc172f227b1f894434fad47eb614b2504ff0c66c0dcf0bd3f3b92f12254f2e29' 'cc1c0500ab07bc13563d99037f776bf64bdc90bb521e31e2e0b04e42ea5bb36a' 'e9df0fff15184d0a90abe17707bdbe1931582433bbc14ded4fb3b0252653c801' '5112f0e1ba3bd0bd92ef2edb2d21024e265abb02841aa29aa05410526adc273f' + '37593d09bcde15a056b93d56ad47877a9bbac140474da2c66648871a0537998a' 'f0dd3897338016e601a0f5d9e9223f77f6366bade181ca2b440b3fdb0ed2cf48') prepare() { @@ -79,6 +81,12 @@ package() { cd "${pkgdir}/${_installdir}/src/vboxhost/" patch -Np5 -i "${srcdir}/009-include-path.patch" + # fix dkms build + printf '%s\n' " -> Fixing DKMS build..." + cd "${pkgdir}/${_installdir}" + # patch -Np1 -i "${srcdir}/013-Makefile.patch" + patch -Np1 -i "${srcdir}/015-linux-5-3.patch" + # hardened build: mark binaries suid root, create symlinks for working around # unsupported $ORIGIN/.. in VBoxC.so and make sure the # directory is only writable by the user (paranoid) |