summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid C. Rankin2019-09-21 03:44:54 -0500
committerDavid C. Rankin2019-09-21 03:44:54 -0500
commiteea6566e3c876ded0f1ade978d7b4df1a6925e7d (patch)
treea4511e9ffa2ac16cb69b0eb4dd20e3d9b67e0392
parentd35a9569a28bd5d2799c1b3dfa36b9f7893f3949 (diff)
downloadaur-eea6566e3c876ded0f1ade978d7b4df1a6925e7d.tar.gz
virtualbox-bin-5 5.2.32-2 Linux-5.3
-rw-r--r--.SRCINFO4
-rw-r--r--015-linux-5-3.patch76
-rw-r--r--PKGBUILD10
3 files changed, 88 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e36c75c7bd51..801b9127c2e6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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);
diff --git a/PKGBUILD b/PKGBUILD
index 0c43c5909cf7..c46700611deb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)