diff options
| author | Matt Valentine-House <matt@eightbitraptor.com> | 2026-02-05 18:23:34 -0500 |
|---|---|---|
| committer | Matt Valentine-House <matt@eightbitraptor.com> | 2026-02-13 14:29:14 +0000 |
| commit | 20d85bbe9b0234c83d64dc1fc853e92cc80a2672 (patch) | |
| tree | 51cb4c6e187ccaaa1484fdfe604f4a5e1d749dff | |
| parent | 1b65282961de25380d4c6e34d249136d0ea1fa5c (diff) | |
Make sure we clear the bits when adding a new page
| -rw-r--r-- | gc/default/default.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gc/default/default.c b/gc/default/default.c index 8fa030cadc..8507219155 100644 --- a/gc/default/default.c +++ b/gc/default/default.c @@ -2011,6 +2011,9 @@ heap_add_page(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *page) page->slot_div_magic = slot_div_magics[heap - heaps]; page->heap = heap; + memset(&page->wb_unprotected_bits[0], 0, HEAP_PAGE_BITMAP_SIZE); + memset(&page->age_bits[0], 0, sizeof(page->age_bits)); + asan_unlock_freelist(page); page->freelist = NULL; asan_unpoison_memory_region(page->body, HEAP_PAGE_SIZE, false); |
