heap: Fix race in asan annotations for HeapVectors
Tracing assumes the entire backing store is safe to access. To guarantee that, tracing a backing store starts by marking the whole backing store capacity as accessible. With concurrent marking enabled, annotating size changes could conflict with marking the whole store as accessible, causing a race. This CL wraps ANNOTATE_CHANGE_SIZE with MARKING_AWARE_ANNOTATE_CHANGE_SIZE that checks whether marking is currently active and keeps the entire store annotated accessible if it is. Bug: 1092468 Change-Id: I87c506ad925fc33cb25d62495d2786704822afb0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2266674Reviewed-by:Kentaro Hara <haraken@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#782571}
Showing
Please register or sign in to comment