[arch-commits] Commit in virtualbox/trunk (015-linux-5-3.patch PKGBUILD)
Christian Hesse
eworm at archlinux.org
Tue Sep 17 11:01:47 UTC 2019
Date: Tuesday, September 17, 2019 @ 11:01:46
Author: eworm
Revision: 510976
upgpkg: virtualbox 6.0.12-2
fix for linux 5.3
Added:
virtualbox/trunk/015-linux-5-3.patch
Modified:
virtualbox/trunk/PKGBUILD
---------------------+
015-linux-5-3.patch | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 4 +-
2 files changed, 79 insertions(+), 1 deletion(-)
Added: 015-linux-5-3.patch
===================================================================
--- 015-linux-5-3.patch (rev 0)
+++ 015-linux-5-3.patch 2019-09-17 11:01:46 UTC (rev 510976)
@@ -0,0 +1,76 @@
+diff --git a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+index 15ecd351..a2f2a284 100644
+--- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
++++ b/src/VBox/HostDrivers/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/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
+index ca480683..72b25bb8 100644
+--- a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
++++ b/src/VBox/Runtime/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);
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-09-17 09:24:10 UTC (rev 510975)
+++ PKGBUILD 2019-09-17 11:01:46 UTC (rev 510976)
@@ -10,7 +10,7 @@
'virtualbox-guest-utils-nox'
'virtualbox-ext-vnc')
pkgver=6.0.12
-pkgrel=1
+pkgrel=2
_vboxsf_commit='87b9015c57dd7f226c768131bf8b4c0249de9835'
arch=('x86_64')
url='https://virtualbox.org/'
@@ -77,6 +77,7 @@
'012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch'
'013-Makefile.patch'
'014-iasl.patch'
+ '015-linux-5-3.patch'
# The following patch and mount.vboxsf wrapper should be removed
# once support for mainline-style options string gets upstreamed
'101-vboxsf-automount.patch'
@@ -103,6 +104,7 @@
'81900e13d36630488accd8c0bfd2ceb69563fb2c4f0f171caba1cca59d438024'
'da7e58ed37dc23c6202aab3017864579a99e78417f3421ddcc98a198198fe2c9'
'5ad14bd587031ac3dcadaeca2cc4d7b48a59ff09b03884b4fc2be5b1432a8237'
+ 'f4d46295ae92023028e4cb5219b110e0b9d5a9d12d76381fe404d7bf922c9d7f'
'a784f3cc24652a16385cc63abac6c5178932ca5f3861be7650631b7dafa753a4'
'f3ed6741f8977f40900c8aa372fa082df1f8723d497d4fff445153c543bc8947')
More information about the arch-commits
mailing list