[haiku-commits] r35329 - haiku/trunk/src/system/kernel/vm

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 28 Jan 2010 21:16:59 +0100 (CET)

Author: bonefish
Date: 2010-01-28 21:16:59 +0100 (Thu, 28 Jan 2010)
New Revision: 35329
Changeset: http://dev.haiku-os.org/changeset/35329/haiku

Modified:
   haiku/trunk/src/system/kernel/vm/vm.cpp
Log:
vm_create_null_area(): The area was created with B_NO_LOCK which would cause
the wired count of manually mapped pages not to be decremented in
delete_area(), leading to a "pages still has mappings" panic when the slab
allocator's memory manager deleted areas.


Modified: haiku/trunk/src/system/kernel/vm/vm.cpp
===================================================================
--- haiku/trunk/src/system/kernel/vm/vm.cpp     2010-01-28 13:58:06 UTC (rev 
35328)
+++ haiku/trunk/src/system/kernel/vm/vm.cpp     2010-01-28 20:16:59 UTC (rev 
35329)
@@ -1469,8 +1469,8 @@
 
        VMArea* area;
        status = map_backing_store(locker.AddressSpace(), cache, address, 0, 
size,
-               addressSpec, 0, B_KERNEL_READ_AREA, REGION_NO_PRIVATE_MAP, 
&area, name,
-               flags, true);
+               addressSpec, B_LAZY_LOCK, B_KERNEL_READ_AREA, 
REGION_NO_PRIVATE_MAP,
+               &area, name, flags, true);
 
        if (status < B_OK) {
                cache->ReleaseRefAndUnlock();


Other related posts:

  • » [haiku-commits] r35329 - haiku/trunk/src/system/kernel/vm - ingo_weinhold