Author: dexuan
Date: Sat Jul 7 00:41:04 2018
New Revision: 336054
URL: https://svnweb.freebsd.org/changeset/base/336054
Log:
hyperv: Fix boot-up after malloc() returns memory of NX by default now
FreeBSD VM can't boot up on Hyper-V after the recent malloc change in
r335068: Make UMA and malloc(9) return non-executable memory in most cases.
The hypercall page here must be executable.
Fix the boot-up issue by adding M_EXEC.
PR: 229167
Sponsored by: Microsoft
Modified:
head/sys/dev/hyperv/vmbus/hyperv.c
Modified: head/sys/dev/hyperv/vmbus/hyperv.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hyperv.c Fri Jul 6 23:49:17 2018
(r336053)
+++ head/sys/dev/hyperv/vmbus/hyperv.c Sat Jul 7 00:41:04 2018
(r336054)
@@ -284,7 +284,7 @@ hypercall_create(void *arg __unused)
* - Assume kmem_malloc() returns properly aligned memory.
*/
hypercall_context.hc_addr = (void *)kmem_malloc(kernel_arena, PAGE_SIZE,
- M_WAITOK);
+ M_EXEC | M_WAITOK);
hypercall_context.hc_paddr = vtophys(hypercall_context.hc_addr);
/* Get the 'reserved' bits, which requires preservation. */
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"