git: kernel - Fix a system lockup with vmm
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Oct 7 19:15:10 PDT 2016
commit e1ea8b243e0eeb23a3181ea4ba7c273ac2f7048a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Oct 7 19:10:06 2016 -0700
kernel - Fix a system lockup with vmm
* Fix an issue where vkernel_lwp_exit() was improperly trying to kfree()
the vklp->ve pointer for the guest-thread case. This field holds a
user-supplied address in that case, not a kernel structure.
* Yield the cpu more aggressively in the VMM_GUEST_RUN loop. We were
testing for pending interrupts but we were not calling lwkt_switch()
* Do not exit the vkernel on a call or jump to address 0. This debugging
code should have been removed and wasn't. A user process running under
the vkernel could cause the vkernel itself to exit.
* Numerous syntactical cleanups.
Reported-by: tuxillo
Summary of changes:
sys/kern/sys_vmm.c | 82 +++---
sys/platform/pc64/include/pmap.h | 2 +
sys/platform/pc64/vmm/ept.c | 17 +-
sys/platform/pc64/vmm/vmm.c | 6 +
sys/platform/pc64/vmm/vmm.h | 7 +
sys/platform/pc64/vmm/vmx.c | 563 +++++++++++++++++++++------------------
sys/platform/pc64/x86_64/pmap.c | 2 +
sys/sys/proc.h | 2 +-
sys/vm/vm_vmspace.c | 23 +-
9 files changed, 388 insertions(+), 316 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e1ea8b243e0eeb23a3181ea4ba7c273ac2f7048a
--
DragonFly BSD source repository
More information about the Commits
mailing list