[compiler-rt] Allow to override allocation buffer size with a separate env var (PR #71703)

Florian Mayer via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 8 09:23:19 PST 2023


https://github.com/fmayer updated https://github.com/llvm/llvm-project/pull/71703

>From e58dcb6726532cc81b101547e4a5fe2080ea4340 Mon Sep 17 00:00:00 2001
From: Florian Mayer <fmayer at google.com>
Date: Wed, 8 Nov 2023 04:48:47 -0800
Subject: [PATCH 1/2] Allow to override allocation buffer size with a separate
 env var

We don't allow SCUDO_OPTIONS to be preserved across SELinux transitions,
so introducing a more constrained one that we can preserve.
---
 compiler-rt/lib/scudo/standalone/flags.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/compiler-rt/lib/scudo/standalone/flags.cpp b/compiler-rt/lib/scudo/standalone/flags.cpp
index de5153b288b14e3..a3095d4f655ff3d 100644
--- a/compiler-rt/lib/scudo/standalone/flags.cpp
+++ b/compiler-rt/lib/scudo/standalone/flags.cpp
@@ -11,6 +11,7 @@
 #include "flags_parser.h"
 
 #include "scudo/interface.h"
+#include <stdlib.h>
 
 namespace scudo {
 
@@ -68,6 +69,13 @@ void initFlags() {
   Parser.parseString(getCompileDefinitionScudoDefaultOptions());
   Parser.parseString(getScudoDefaultOptions());
   Parser.parseString(getEnv("SCUDO_OPTIONS"));
+  if (const char* V = getEnv("SCUDO_ALLOCATION_RING_BUFFER_SIZE")) {
+    char* End = nullptr;
+    int I = static_cast<int>(strtol(V, &End, 10));
+    if (End && *End == '\0') {
+      F->allocation_ring_buffer_size = I;
+    }
+  }
 }
 
 } // namespace scudo

>From 14df1200439287c8378ab287f30a645089cf2a5f Mon Sep 17 00:00:00 2001
From: Florian Mayer <fmayer at google.com>
Date: Wed, 8 Nov 2023 09:22:47 -0800
Subject: [PATCH 2/2] fix format

---
 compiler-rt/lib/scudo/standalone/flags.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler-rt/lib/scudo/standalone/flags.cpp b/compiler-rt/lib/scudo/standalone/flags.cpp
index a3095d4f655ff3d..ab0472f319bd49b 100644
--- a/compiler-rt/lib/scudo/standalone/flags.cpp
+++ b/compiler-rt/lib/scudo/standalone/flags.cpp
@@ -69,8 +69,8 @@ void initFlags() {
   Parser.parseString(getCompileDefinitionScudoDefaultOptions());
   Parser.parseString(getScudoDefaultOptions());
   Parser.parseString(getEnv("SCUDO_OPTIONS"));
-  if (const char* V = getEnv("SCUDO_ALLOCATION_RING_BUFFER_SIZE")) {
-    char* End = nullptr;
+  if (const char *V = getEnv("SCUDO_ALLOCATION_RING_BUFFER_SIZE")) {
+    char *End = nullptr;
     int I = static_cast<int>(strtol(V, &End, 10));
     if (End && *End == '\0') {
       F->allocation_ring_buffer_size = I;



More information about the llvm-commits mailing list