Title: [198693] trunk/Source/bmalloc
Revision
198693
Author
[email protected]
Date
2016-03-25 15:04:53 -0700 (Fri, 25 Mar 2016)

Log Message

2016-03-25  Geoffrey Garen  <[email protected]>

        Unreviewed, try to fix a crash seen on the bots.

        * bmalloc/Allocator.cpp:
        (bmalloc::Allocator::reallocate): We have to take the lock even if we're
        only reading our own data becuse LargeObject contains validation code
        that will read our neighbors' data as well.

Modified Paths

Diff

Modified: trunk/Source/bmalloc/ChangeLog (198692 => 198693)


--- trunk/Source/bmalloc/ChangeLog	2016-03-25 22:01:30 UTC (rev 198692)
+++ trunk/Source/bmalloc/ChangeLog	2016-03-25 22:04:53 UTC (rev 198693)
@@ -1,3 +1,12 @@
+2016-03-25  Geoffrey Garen  <[email protected]>
+
+        Unreviewed, try to fix a crash seen on the bots.
+
+        * bmalloc/Allocator.cpp:
+        (bmalloc::Allocator::reallocate): We have to take the lock even if we're
+        only reading our own data becuse LargeObject contains validation code
+        that will read our neighbors' data as well.
+
 2016-03-25  Ryan Haddad  <[email protected]>
 
         Unreviewed, rolling out r198679.

Modified: trunk/Source/bmalloc/bmalloc/Allocator.cpp (198692 => 198693)


--- trunk/Source/bmalloc/bmalloc/Allocator.cpp	2016-03-25 22:01:30 UTC (rev 198692)
+++ trunk/Source/bmalloc/bmalloc/Allocator.cpp	2016-03-25 22:04:53 UTC (rev 198693)
@@ -120,12 +120,13 @@
         break;
     }
     case ObjectType::Large: {
+        std::lock_guard<StaticMutex> lock(PerProcess<Heap>::mutex());
+
         LargeObject largeObject(object);
         oldSize = largeObject.size();
 
         if (newSize < oldSize && newSize > smallMax) {
             if (oldSize - newSize >= largeMin) {
-                std::lock_guard<StaticMutex> lock(PerProcess<Heap>::mutex());
                 newSize = roundUpToMultipleOf<largeAlignment>(newSize);
                 PerProcess<Heap>::getFastCase()->shrinkLarge(lock, largeObject, newSize);
                 return object;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to