From 885bec8d86d8a4a21ae92c02c8c77339a9b3c0e1 Mon Sep 17 00:00:00 2001 From: Florian Mayer Date: Thu, 19 Jan 2023 17:55:52 -0800 Subject: [PATCH] [MTE] upgrade apps from async to sync mode on debug builds These builds are slower anyway, as they enabled MTE sync mode (with stack trace collection) on the whole platform. To make debugging easier, also upgrade apps that enable MTE to sync mode. Bug: 266056313 Test: app-memtag_async-release.apk crashes with MTESERR Change-Id: I1d6d57c236a54cda2d5d61083f1bdf701c65185e --- core/java/com/android/internal/os/Zygote.java | 9 +++++++++ 1 file changed, 9 insertions(+) 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; }