aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Kennelly <ckennelly@google.com>2024-01-29 23:13:24 -0800
committerCopybara-Service <copybara-worker@google.com>2024-01-29 23:13:59 -0800
commit0e98cceb32df218d718cc88d099eaf380857788d (patch)
treea6b061ee0d5895b2587b90f4818b36fea7788ce2
parentf2840b37a328c67c839f218326f41fc7867aed59 (diff)
downloadsandboxed-api-0e98cceb32df218d718cc88d099eaf380857788d.tar.gz
Permit TCMalloc to use MAP_FIXED_NOREPLACE.
PiperOrigin-RevId: 602616926 Change-Id: I6337f740baebea6f8c63622a502a200c6f7bdb47
-rw-r--r--sandboxed_api/sandbox2/policybuilder.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sandboxed_api/sandbox2/policybuilder.cc b/sandboxed_api/sandbox2/policybuilder.cc
index af9ec09..ce9567c 100644
--- a/sandboxed_api/sandbox2/policybuilder.cc
+++ b/sandboxed_api/sandbox2/policybuilder.cc
@@ -70,6 +70,9 @@
#include <asm/termbits.h> // On PPC, TCGETS macro needs termios
#endif
+#ifndef MAP_FIXED_NOREPLACE
+#define MAP_FIXED_NOREPLACE 0x100000
+#endif
#ifndef PR_SET_VMA
#define PR_SET_VMA 0x53564d41
#endif
@@ -285,6 +288,7 @@ PolicyBuilder& PolicyBuilder::AllowTcMalloc() {
LABEL(&labels, prot_none),
ARG_32(3), // flags
JEQ32(MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE, ALLOW),
+ JEQ32(MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED_NOREPLACE, ALLOW),
JEQ32(MAP_ANONYMOUS | MAP_PRIVATE, ALLOW),
LABEL(&labels, mmap_end),