m32 fails to unprotect pages added to the free page list
To avoid address space fragmentation the m32 allocator maintains a bounded-size pool of free pages. However, when adding pages to this pool we fail to reset the page protection, which may be necessary if the page was previously used for code (and therefore protected with READ|EXECUTE).