git: kernel - Concurrent fork/exec (3) - Fix 32-bit builds & vkernels

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Oct 14 09:50:04 PDT 2013


commit 8421b1ad64281b895f6d1e0ee6c754529d36ecbf
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Oct 14 09:46:30 2013 -0700

    kernel - Concurrent fork/exec (3) - Fix 32-bit builds & vkernels
    
    * 32-bit kernels and both 32 and 64-bit vkernels were setting
      kernel_pmap.pm_pteobj to kernel_object.  This creates a shared/excl
      race that locks them up.
    
    * Replace with kptobj, a vm_object dedicated to the kernel_pmap.
    
    * Not applicable on normal 64-bit kernels as they use a more modern
      pmap implementation that does not require a pm_pteobj.
    
    Reported-by: tuxillo

Summary of changes:
 sys/platform/pc32/i386/pmap.c          |  3 ++-
 sys/platform/vkernel/platform/pmap.c   | 10 ++++++++--
 sys/platform/vkernel64/platform/pmap.c |  7 ++++---
 3 files changed, 14 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8421b1ad64281b895f6d1e0ee6c754529d36ecbf


-- 
DragonFly BSD source repository



More information about the Commits mailing list