From d7dad644658697a05949b66e736a34fb772771de Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 12 Dec 2023 20:57:02 -0800 Subject: [PATCH] Unlock freelist before assigning Co-authored-by: Matthew Draper --- gc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gc.c b/gc.c index 59c9162a89..14bbf64942 100644 --- a/gc.c +++ b/gc.c @@ -5395,7 +5395,9 @@ try_move(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *free_page, * full */ return false; } + asan_unlock_freelist(free_page); free_page->freelist = RANY(dest)->as.free.next; + asan_lock_freelist(free_page); GC_ASSERT(RB_BUILTIN_TYPE(dest) == T_NONE);