git: kernel - Fix swap space leak

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Dec 27 14:18:12 PST 2011


commit 0301c407992b4e73ffebb89e08bfc1efe3c4bec6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Dec 27 14:15:50 2011 -0800

    kernel - Fix swap space leak
    
    * swp_pager_meta_free_callback() had a bug where the last swap block
      in the swblock{} structure was not being freed from the swap bitmap.
    
    * Also fix two rare race conditions.  swp_pager_freeswapspace() can
      block, causing the VM object token to be temporarily unlocked.  Deal
      with the race by not decrementing the swb_count field until after
      swp_pager_freeswapspace() is called.
    
    Reported-by: sephe

Summary of changes:
 sys/vm/swap_pager.c |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0301c407992b4e73ffebb89e08bfc1efe3c4bec6


-- 
DragonFly BSD source repository





More information about the Commits mailing list