From c9be4eb9942352af5a69d198d9a35166e7d35ad8 Mon Sep 17 00:00:00 2001 From: Florian Mayer Date: Tue, 8 Feb 2022 18:13:01 -0800 Subject: [PATCH] [MTE] Respect persist.arm64.memtag.default for system server. Bug: 216305376 Change-Id: Ief009bde45eb5bb7e9cd555c071be582b46560a5 --- core/java/com/android/internal/os/ZygoteInit.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 611f644ffc7d0..5c4e86a241629 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -736,10 +736,13 @@ public class ZygoteInit { Zygote.applyInvokeWithSystemProperty(parsedArgs); if (Zygote.nativeSupportsMemoryTagging()) { - /* The system server has ASYNC MTE by default, in order to allow - * system services to specify their own MTE level later, as you - * can't re-enable MTE once it's disabled. */ - String mode = SystemProperties.get("arm64.memtag.process.system_server", "async"); + String mode = SystemProperties.get("arm64.memtag.process.system_server", ""); + if (mode.isEmpty()) { + /* The system server has ASYNC MTE by default, in order to allow + * system services to specify their own MTE level later, as you + * can't re-enable MTE once it's disabled. */ + mode = SystemProperties.get("persist.arm64.memtag.default", "async"); + } if (mode.equals("async")) { parsedArgs.mRuntimeFlags |= Zygote.MEMORY_TAG_LEVEL_ASYNC; } else if (mode.equals("sync")) {