ASan is "Address Sanitizer". See https://github.com/google/sanitizers/wiki/AddressSanitizer
Arena, and by extension ResourceArea, are custom allocators. They allocate chunks of malloc-based memory and allocate objects in them, one after another. As far as ASan is concerned, the entire malloc-based chunk is valid until free. In reality the subregions of the chunks are not valid until handed out by the arena.
ASan supports user-specified poisoning/unpoisoning. This allows ASan to detect unexpected usage of memory, effectively allowing us to detect use-after-free in the Arena.
This enhancement will instrument Arena and ResouceArena for ASan using poisoning/unpoisoning.
AdditionallyJDK-8298445 will be able to make use of poisoning/unpoisoning information by not looking for pointers in poisoned memory. This makes it much more accurate and determenistic.
Arena, and by extension ResourceArea, are custom allocators. They allocate chunks of malloc-based memory and allocate objects in them, one after another. As far as ASan is concerned, the entire malloc-based chunk is valid until free. In reality the subregions of the chunks are not valid until handed out by the arena.
ASan supports user-specified poisoning/unpoisoning. This allows ASan to detect unexpected usage of memory, effectively allowing us to detect use-after-free in the Arena.
This enhancement will instrument Arena and ResouceArena for ASan using poisoning/unpoisoning.
Additionally
- relates to
-
JDK-8298445 Add LeakSanitizer support in HotSpot
-
- Resolved
-