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. */
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to