kernel - Correct vm_map_entry_reserve() call depth issue w/vkernel
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 4 Dec 2017 23:43:13 +0000 (15:43 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 4 Dec 2017 23:43:13 +0000 (15:43 -0800)
commitadbd68143397c68255ba6884c2dce62d81dbfe80
tree0cd871cc61752212ebb096ca02f4624c61ec8920
parentf7b2bab106718b517e603a236db26073b054ecb9
kernel - Correct vm_map_entry_reserve() call depth issue w/vkernel

* vm_map was making vaddr tests against VM_MAX_USER_ADDRESS to
  determine when to call vm_map_entry_reserve().  This test works
  fine on real hardware but will not work properly for a vkernel.

* Instead, just use td_nest_count to prevent excessive recursion,
  or test against &kernel_map when necessary.

* Fixes SIGILL in vkernel due to stack overflow.

Reported-by: tuxillo
sys/vm/vm_map.c