From 42e22f89a49ff766ae73c0a486b55b1bf4ff44d7 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Sun, 10 Jul 2022 15:30:08 +0200 Subject: [PATCH] AK+LibGfx+LibJS: Pass -1 as the file descriptor to anonymous mmap Serenity/Linux/macOS ignore the file descriptor when an anonymous mapping is requested. However, BSDs require the fd to be -1. --- AK/BumpAllocator.h | 2 +- Userland/Libraries/LibGfx/Bitmap.cpp | 2 +- Userland/Libraries/LibJS/Bytecode/BasicBlock.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AK/BumpAllocator.h b/AK/BumpAllocator.h index 27fbff7a2c..e505e5381d 100644 --- a/AK/BumpAllocator.h +++ b/AK/BumpAllocator.h @@ -106,7 +106,7 @@ protected: #ifdef __serenity__ new_chunk = serenity_mmap(nullptr, m_chunk_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_RANDOMIZED | MAP_PRIVATE, 0, 0, m_chunk_size, "BumpAllocator Chunk"); #else - new_chunk = mmap(nullptr, m_chunk_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); + new_chunk = mmap(nullptr, m_chunk_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); #endif if (new_chunk == MAP_FAILED) return false; diff --git a/Userland/Libraries/LibGfx/Bitmap.cpp b/Userland/Libraries/LibGfx/Bitmap.cpp index a6ca112f93..e4b8178099 100644 --- a/Userland/Libraries/LibGfx/Bitmap.cpp +++ b/Userland/Libraries/LibGfx/Bitmap.cpp @@ -558,7 +558,7 @@ ErrorOr Bitmap::allocate_backing_store(BitmapFormat format, IntSiz map_flags |= MAP_PURGEABLE; void* data = mmap_with_name(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0, String::formatted("GraphicsBitmap [{}]", size).characters()); #else - void* data = mmap(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0); + void* data = mmap(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, -1, 0); #endif if (data == MAP_FAILED) return Error::from_errno(errno); diff --git a/Userland/Libraries/LibJS/Bytecode/BasicBlock.cpp b/Userland/Libraries/LibJS/Bytecode/BasicBlock.cpp index 71a14ac7e2..153cad384f 100644 --- a/Userland/Libraries/LibJS/Bytecode/BasicBlock.cpp +++ b/Userland/Libraries/LibJS/Bytecode/BasicBlock.cpp @@ -23,7 +23,7 @@ BasicBlock::BasicBlock(String name, size_t size) // The main issue we're working around here is that we don't want pointers into the bytecode stream to become invalidated // during code generation due to dynamic buffer resizing. Otherwise we could just use a Vector. m_buffer_capacity = size; - m_buffer = (u8*)mmap(nullptr, m_buffer_capacity, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); + m_buffer = (u8*)mmap(nullptr, m_buffer_capacity, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); VERIFY(m_buffer != MAP_FAILED); }