DragonFly BSD
DragonFly commits List (threaded) for 2010-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Correct bug in malloc_type ks_memuse/ks_inuse management


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Sep 2010 09:46:13 -0700 (PDT)

commit 28135cc28c6b3b52668ae0411eae94811f4e1437
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sun Sep 19 09:43:09 2010 -0700

    kernel - Correct bug in malloc_type ks_memuse/ks_inuse management
    
    * The new kfree() was improperly adjust ks_memuse/ks_inuse for the wrong
      cpu, leading to MP races which could cause the memory statistics to go
      negative and trigger a panic.
    
    * When calculating loosememuse it is possible to race another cpu and
      come up with an incorrect value.  The race itself is ok, loosememuse
      is not supposed to be 100% deterministic, but even so do not allow
      the value to underflow or we will wind up asserting.

Summary of changes:
 sys/kern/kern_slaballoc.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28135cc28c6b3b52668ae0411eae94811f4e1437


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]