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

Commit 216c6ea6 authored by Evgenii Stepanov's avatar Evgenii Stepanov Committed by Automerger Merge Worker
Browse files

Merge "Clean MTE and GWP-ASan runtime flags after use." into rvc-dev am: 1a7be751

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11730039

Change-Id: I13e33f47a7731a00b83845955f1f521c1de9f6a9
parents 2e88b2b9 1a7be751
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1787,6 +1787,8 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
      heap_tagging_level = M_HEAP_TAGGING_LEVEL_NONE;
  }
  android_mallopt(M_SET_HEAP_TAGGING_LEVEL, &heap_tagging_level, sizeof(heap_tagging_level));
  // Now that we've used the flag, clear it so that we don't pass unknown flags to the ART runtime.
  runtime_flags &= ~RuntimeFlags::MEMORY_TAG_LEVEL_MASK;

  bool forceEnableGwpAsan = false;
  switch (runtime_flags & RuntimeFlags::GWP_ASAN_LEVEL_MASK) {
@@ -1799,6 +1801,8 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
      case RuntimeFlags::GWP_ASAN_LEVEL_LOTTERY:
          android_mallopt(M_INITIALIZE_GWP_ASAN, &forceEnableGwpAsan, sizeof(forceEnableGwpAsan));
  }
  // Now that we've used the flag, clear it so that we don't pass unknown flags to the ART runtime.
  runtime_flags &= ~RuntimeFlags::GWP_ASAN_LEVEL_MASK;

  if (NeedsNoRandomizeWorkaround()) {
    // Work around ARM kernel ASLR lossage (http://b/5817320).