From bd4254120165f4f37364be102b7cc31831534ae4 Mon Sep 17 00:00:00 2001 From: Rozhuk Ivan Date: Mon, 18 Jan 2021 01:08:42 +0300 Subject: [PATCH] emulators/virtualbox-ose: fix build on FreeBSD 13 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252675 --- ...h-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c index 8ded9292c867..41c5b5f667d3 100644 --- a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c +++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c @@ -418,10 +418,15 @@ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE) ProtectionFlags = VM_PROT_NONE; -@@ -826,6 +885,7 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT +@@ -825,7 +884,12 @@ + if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC) ProtectionFlags |= VM_PROT_EXECUTE; ++#if __FreeBSD_version >= 1300136 ++ int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, FALSE, VM_MAP_PROTECT_SET_PROT); ++#else int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, FALSE); ++#endif + IPRT_FREEBSD_RESTORE_EFL_AC(); if (krc == KERN_SUCCESS) return VINF_SUCCESS;