[MTE] Never upgrade MTE mode for zygote.

Bug: 169277947
Change-Id: I90e9f3d2084b0ef5d035b5ae3e5101e365038f26
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp
index 46eafc6..16ebb7a 100644
--- a/libc/bionic/libc_init_static.cpp
+++ b/libc/bionic/libc_init_static.cpp
@@ -305,6 +305,15 @@
   bool memtag_stack;
   HeapTaggingLevel level = __get_heap_tagging_level(phdr_start, phdr_ct, load_bias, &memtag_stack);
   char* env = getenv("BIONIC_MEMTAG_UPGRADE_SECS");
+  static const char kAppProcessName[] = "app_process64";
+  const char* progname = __libc_shared_globals()->init_progname;
+  progname = progname ? __gnu_basename(progname) : nullptr;
+  if (progname &&
+      strncmp(progname, kAppProcessName, sizeof(kAppProcessName)) == 0) {
+    // disable timed upgrade for zygote, as the thread spawned will violate the requirement
+    // that it be single-threaded.
+    env = nullptr;
+  }
   int64_t timed_upgrade = 0;
   if (env) {
     char* endptr;