Changeset 224811 in webkit


Ignore:
Timestamp:
Nov 14, 2017 1:08:06 AM (7 years ago)
Author:
sbarati@apple.com
Message:

Make the gigacage runway 32GB
https://bugs.webkit.org/show_bug.cgi?id=175062

Reviewed by Mark Lam.

Making the gigacage runway 32GB defends us against buffer overflows in the
cage reaching memory outside the cage assuming indices are 32-bit unsigned
integers and the type they're indexing into has size <= 8 bytes. This is
exactly the case for many things in JSC. For example, butterfly access in
JSC meet this criteria, as does typed array access.

The 32GB comes from 8 * 232 = 32GB.

  • bmalloc/Gigacage.cpp:
Location:
trunk/Source/bmalloc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/bmalloc/ChangeLog

    r224588 r224811  
     12017-11-14  Saam Barati  <sbarati@apple.com>
     2
     3        Make the gigacage runway 32GB
     4        https://bugs.webkit.org/show_bug.cgi?id=175062
     5
     6        Reviewed by Mark Lam.
     7
     8        Making the gigacage runway 32GB defends us against buffer overflows in the
     9        cage reaching memory outside the cage assuming indices are 32-bit unsigned
     10        integers and the type they're indexing into has size <= 8 bytes. This is
     11        exactly the case for many things in JSC. For example, butterfly access in
     12        JSC meet this criteria, as does typed array access.
     13       
     14        The 32GB comes from 8 * 2^32 = 32GB.
     15
     16        * bmalloc/Gigacage.cpp:
     17
    1182017-11-08  Michael Catanzaro  <mcatanzaro@igalia.com>
    219
  • trunk/Source/bmalloc/bmalloc/Gigacage.cpp

    r224588 r224811  
    4040#define GIGACAGE_RUNWAY 0
    4141#else
    42 // FIXME: Consider making this 32GB, in case unsigned 32-bit indices find their way into indexed accesses.
    43 // https://bugs.webkit.org/show_bug.cgi?id=175062
    44 #define GIGACAGE_RUNWAY (16llu * 1024 * 1024 * 1024)
     42#define GIGACAGE_RUNWAY (32llu * 1024 * 1024 * 1024)
    4543#endif
    4644
Note: See TracChangeset for help on using the changeset viewer.