Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57448593 authored by Florian Mayer's avatar Florian Mayer Committed by Automerger Merge Worker
Browse files

Merge "[MTE] add device config for permissive mode" am: 0b2cf1d6 am: 87fa70ee am: f631982e

parents e7759215 f631982e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -103,9 +103,15 @@ static bool property_parse_bool(const char* name) {
static bool is_permissive_mte() {
  // Environment variable for testing or local use from shell.
  char* permissive_env = getenv("MTE_PERMISSIVE");
  char process_sysprop_name[512];
  async_safe_format_buffer(process_sysprop_name, sizeof(process_sysprop_name),
                           "persist.device_config.memory_safety_native.permissive.process.%s",
                           getprogname());
  // DO NOT REPLACE this with GetBoolProperty. That uses std::string which allocates, so it is
  // not async-safe (and this functiong gets used in a signal handler).
  return property_parse_bool("persist.sys.mte.permissive") ||
         property_parse_bool("persist.device_config.memory_safety_native.permissive.default") ||
         property_parse_bool(process_sysprop_name) ||
         (permissive_env && ParseBool(permissive_env) == ParseBoolResult::kTrue);
}