Clean MTE and GWP-ASan runtime flags after use.
A check in ZygoteHooks_nativePostForkChild expects runtime_flags to be empty. Clear the flags that have been used and are not needed any longer. Bug: 157939523 Test: adb logcat | grep "Unknown bits set in runtime_flags" Change-Id: Ifade5e2437cbf24ae1d3909032a98bd60fc8a148
This commit is contained in:
@@ -1744,6 +1744,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) {
|
||||
@@ -1756,6 +1758,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).
|
||||
|
||||
Reference in New Issue
Block a user