diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-12-20 14:30:03 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-22 23:41:42 -0500 |
commit | 14b2e3d3dda104c62c5abafd3353dd0315de71ad (patch) | |
tree | 5787236a8d34311f79dffcbcc3a2ec4e8e9f118d /rts/linker/M32Alloc.c | |
parent | 317f45c154f6fe25d50ef2f3febcc5883ff1b1ca (diff) | |
download | haskell-14b2e3d3dda104c62c5abafd3353dd0315de71ad.tar.gz |
rts/m32: Fix sanity checking
Previously we would attempt to clear pages which were marked as
read-only. Fix this.
Diffstat (limited to 'rts/linker/M32Alloc.c')
-rw-r--r-- | rts/linker/M32Alloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c index 6ad316e164..17d3d12459 100644 --- a/rts/linker/M32Alloc.c +++ b/rts/linker/M32Alloc.c @@ -286,13 +286,13 @@ m32_release_page(struct m32_page_t *page) const size_t pgsz = getPageSize(); ssize_t sz = page->filled_page.size; - IF_DEBUG(sanity, memset(page, 0xaa, sz)); // Break the page, which may be a large multi-page allocation, into // individual pages for the page pool while (sz > 0) { if (m32_free_page_pool_size < M32_MAX_FREE_PAGE_POOL_SIZE) { mprotectForLinker(page, pgsz, MEM_READ_WRITE); + IF_DEBUG(sanity, memset(page, 0xaa, pgsz)); SET_PAGE_TYPE(page, FREE_PAGE); page->free_page.next = m32_free_page_pool; m32_free_page_pool = page; |