From 2a3cebdd6e51509f83bcae1f0567d8e67e14efa4 Mon Sep 17 00:00:00 2001 From: Alexander Senier Date: Wed, 21 Aug 2019 09:34:35 +0200 Subject: [PATCH] libc: Allow private writable mappings Fixes #3480 --- repos/libports/src/lib/libc/vfs_plugin.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/libports/src/lib/libc/vfs_plugin.cc b/repos/libports/src/lib/libc/vfs_plugin.cc index 9b36f73fb8..6ca429e5c5 100644 --- a/repos/libports/src/lib/libc/vfs_plugin.cc +++ b/repos/libports/src/lib/libc/vfs_plugin.cc @@ -1258,7 +1258,7 @@ int Libc::Vfs_plugin::rename(char const *from_path, char const *to_path) void *Libc::Vfs_plugin::mmap(void *addr_in, ::size_t length, int prot, int flags, Libc::File_descriptor *fd, ::off_t offset) { - if (prot != PROT_READ) { + if (prot != PROT_READ && !(prot == (PROT_READ | PROT_WRITE) && flags == MAP_PRIVATE)) { Genode::error("mmap for prot=", Genode::Hex(prot), " not supported"); errno = EACCES; return (void *)-1;