diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index deafd19e866f0..d9cb72a5daa15 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -1328,6 +1328,15 @@ public final class Zygote { level = MEMORY_TAG_LEVEL_NONE; } + // If we requested "sync" mode for the whole platform, upgrade mode for apps that enable + // MTE. + // This makes debugging a lot easier. + if (level == MEMORY_TAG_LEVEL_ASYNC + && (Build.IS_USERDEBUG || Build.IS_ENG) + && "sync".equals(SystemProperties.get("persist.arm64.memtag.default"))) { + level = MEMORY_TAG_LEVEL_SYNC; + } + return level; }