]> mj.ucw.cz Git - eval.git/blobdiff - box/box.c
Box: Allow /proc/self/maps
[eval.git] / box / box.c
index fb623763141233a5e7668d2e6b5c81ae579d745d..71ec68c75cd9767d690c429de13379e1a1b8f360 100644 (file)
--- a/box/box.c
+++ b/box/box.c
@@ -7,6 +7,8 @@
 #define _LARGEFILE64_SOURCE
 #define _GNU_SOURCE
 
+#include "autoconf.h"
+
 #include <errno.h>
 #include <stdio.h>
 #include <fcntl.h>
@@ -290,7 +292,9 @@ static unsigned char syscall_action[NUM_ACTIONS] = {
     S(get_thread_area) = A_YES,
     S(set_tid_address) = A_YES,
     S(exit_group) = A_YES | A_SAMPLE_MEM,
-#ifndef CONFIG_BOX_USER_AMD64
+#ifdef CONFIG_BOX_USER_AMD64
+    S(arch_prctl) = A_YES,
+#else
     S(oldfstat) = A_YES,
     S(ftruncate64) = A_YES,
     S(_llseek) = A_YES,
@@ -421,6 +425,7 @@ static struct path_rule default_path_rules[] = {
   { "/proc/meminfo", A_YES },
   { "/proc/self/stat", A_YES },
   { "/proc/self/exe", A_YES },                 // Needed by FPC 2.0.x runtime
+  { "/proc/self/maps", A_YES },                        // Needed by glibc when it reports arena corruption
 };
 
 static struct path_rule *user_path_rules;