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