1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 17:44:48 +09:00

[wasm] Be more cautious about page zeroing (#106080)

Should fix #106007
This commit is contained in:
Katelyn Gadd 2024-08-08 16:52:00 -07:00 committed by GitHub
parent 679a284f54
commit 68511fd27f
Signed by: github
GPG key ID: B5690EEEBB952194

View file

@ -125,7 +125,7 @@ static unsigned long
prot_flags_for_activate (int activate) prot_flags_for_activate (int activate)
{ {
unsigned long prot_flags = activate? MONO_MMAP_READ|MONO_MMAP_WRITE: MONO_MMAP_NONE; unsigned long prot_flags = activate? MONO_MMAP_READ|MONO_MMAP_WRITE: MONO_MMAP_NONE;
return prot_flags | MONO_MMAP_PRIVATE | MONO_MMAP_ANON | MONO_MMAP_NOZERO; return prot_flags | MONO_MMAP_PRIVATE | MONO_MMAP_ANON;
} }
static gpointer static gpointer
@ -138,13 +138,15 @@ alloc_sb (Descriptor *desc)
if (pagesize == -1) if (pagesize == -1)
pagesize = mono_pagesize (); pagesize = mono_pagesize ();
// NOTE: Allocated memory is not guaranteed to be zeroed
sb_header = desc->block_size == pagesize ? sb_header = desc->block_size == pagesize ?
mono_valloc (NULL, desc->block_size, prot_flags_for_activate (TRUE), desc->heap->account_type) : mono_valloc (NULL, desc->block_size, prot_flags_for_activate (TRUE) | MONO_MMAP_NOZERO, desc->heap->account_type) :
mono_valloc_aligned (desc->block_size, desc->block_size, prot_flags_for_activate (TRUE), desc->heap->account_type); mono_valloc_aligned (desc->block_size, desc->block_size, prot_flags_for_activate (TRUE) | MONO_MMAP_NOZERO, desc->heap->account_type);
g_assertf (sb_header, "Failed to allocate memory for the lock free allocator"); g_assertf (sb_header, "Failed to allocate memory for the lock free allocator");
g_assert (sb_header == sb_header_for_addr (sb_header, desc->block_size)); g_assert (sb_header == sb_header_for_addr (sb_header, desc->block_size));
// Initializes the header fully
*(Descriptor**)sb_header = desc; *(Descriptor**)sb_header = desc;
//g_print ("sb %p for %p\n", sb_header, desc); //g_print ("sb %p for %p\n", sb_header, desc);