summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-10 18:16:15 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-10 18:16:22 +0900
commit142f154a0a0863dc48cf767b2d1b5acec0371999 (patch)
tree7f2a030a116c1a03d00915a1da979eceda36ae14 /gc.c
parent9a17437558e42aa1da372b515ba8bc18067d578c (diff)
Unpoison freelist to chain
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index d2e4e7cbbc..c583ed28da 100644
--- a/gc.c
+++ b/gc.c
@@ -2181,6 +2181,7 @@ ractor_cached_freeobj(rb_objspace_t *objspace, rb_ractor_t *cr)
else {
if (cr->newobj_cache.free_pages) {
struct heap_page *page = cr->newobj_cache.free_pages;
+ asan_unpoison_memory_region(&page->freelist, sizeof(RVALUE*), false);
cr->newobj_cache.free_pages = page->free_next;
ractor_cache_fill_freelist(objspace, cr, page);
goto retry;