summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StubLibraries.bp32
-rw-r--r--core/jni/com_android_internal_os_Zygote.cpp33
-rw-r--r--keystore/java/android/security/keystore/AndroidKeyStoreProvider.java2
-rw-r--r--services/core/java/com/android/server/pm/PreferredComponent.java37
-rw-r--r--services/core/java/com/android/server/pm/PreferredIntentResolver.java21
-rw-r--r--services/core/java/com/android/server/pm/Settings.java3
6 files changed, 20 insertions, 108 deletions
diff --git a/StubLibraries.bp b/StubLibraries.bp
index 4af5ce76b8d6..90bac37b944e 100644
--- a/StubLibraries.bp
+++ b/StubLibraries.bp
@@ -247,21 +247,7 @@ java_library_static {
"framework-wifi.stubs",
"private-stub-annotations-jar",
],
- defaults: [
- "android_defaults_stubs_current",
- "android_stubs_dists_default",
- ],
- dist: {
- dir: "apistubs/android/system",
- },
- dists: [
- {
- // Legacy dist path
- targets: ["sdk", "win_sdk"],
- tag: ".jar",
- dest: "android_system.jar",
- },
- ],
+ defaults: ["android_defaults_stubs_current"],
}
java_library_static {
@@ -278,7 +264,21 @@ java_library_static {
"framework-wifi.stubs.system",
"private-stub-annotations-jar",
],
- defaults: ["android_defaults_stubs_current"],
+ defaults: [
+ "android_defaults_stubs_current",
+ "android_stubs_dists_default",
+ ],
+ dist: {
+ dir: "apistubs/android/system",
+ },
+ dists: [
+ {
+ // Legacy dist path
+ targets: ["sdk", "win_sdk"],
+ tag: ".jar",
+ dest: "android_system.jar",
+ },
+ ],
}
java_library_static {
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 70c2afb74c72..6381cf59380a 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -78,7 +78,6 @@
#include <android-base/unique_fd.h>
#include <bionic/malloc.h>
#include <bionic/mte.h>
-#include <bionic/mte_kernel.h>
#include <cutils/fs.h>
#include <cutils/memory.h>
#include <cutils/multiuser.h>
@@ -1676,28 +1675,6 @@ static void BindMountStorageDirs(JNIEnv* env, jobjectArray pkg_data_info_list,
}
}
-#ifdef ANDROID_EXPERIMENTAL_MTE
-static void SetTagCheckingLevel(int level) {
-#ifdef __aarch64__
- if (!(getauxval(AT_HWCAP2) & HWCAP2_MTE)) {
- return;
- }
-
- int tagged_addr_ctrl = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0);
- if (tagged_addr_ctrl < 0) {
- ALOGE("prctl(PR_GET_TAGGED_ADDR_CTRL) failed: %s", strerror(errno));
- return;
- }
-
- tagged_addr_ctrl = (tagged_addr_ctrl & ~PR_MTE_TCF_MASK) | level;
- if (prctl(PR_SET_TAGGED_ADDR_CTRL, tagged_addr_ctrl, 0, 0, 0) < 0) {
- ALOGE("prctl(PR_SET_TAGGED_ADDR_CTRL, %d) failed: %s", tagged_addr_ctrl,
- strerror(errno));
- }
-#endif
-}
-#endif
-
// Utility routine to specialize a zygote child process.
static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
jint runtime_flags, jobjectArray rlimits,
@@ -1833,22 +1810,14 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
heap_tagging_level = M_HEAP_TAGGING_LEVEL_TBI;
break;
case RuntimeFlags::MEMORY_TAG_LEVEL_ASYNC:
-#ifdef ANDROID_EXPERIMENTAL_MTE
- SetTagCheckingLevel(PR_MTE_TCF_ASYNC);
-#endif
heap_tagging_level = M_HEAP_TAGGING_LEVEL_ASYNC;
break;
case RuntimeFlags::MEMORY_TAG_LEVEL_SYNC:
-#ifdef ANDROID_EXPERIMENTAL_MTE
- SetTagCheckingLevel(PR_MTE_TCF_SYNC);
-#endif
heap_tagging_level = M_HEAP_TAGGING_LEVEL_SYNC;
break;
default:
-#ifdef ANDROID_EXPERIMENTAL_MTE
- SetTagCheckingLevel(PR_MTE_TCF_NONE);
-#endif
heap_tagging_level = M_HEAP_TAGGING_LEVEL_NONE;
+ break;
}
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.
diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
index 3ac9d68d5a9f..5867ef6eaea5 100644
--- a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
+++ b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
@@ -84,7 +84,7 @@ public class AndroidKeyStoreProvider extends Provider {
// java.security.KeyStore
put("KeyStore.AndroidKeyStore", PACKAGE_NAME + ".AndroidKeyStoreSpi");
- put("alg.alias.KeyStore.AndroidKeyStoreLegacy", "AndroidKeyStore");
+ put("Alg.Alias.KeyStore.AndroidKeyStoreLegacy", "AndroidKeyStore");
// java.security.KeyPairGenerator
put("KeyPairGenerator.EC", PACKAGE_NAME + ".AndroidKeyStoreKeyPairGeneratorSpi$EC");
diff --git a/services/core/java/com/android/server/pm/PreferredComponent.java b/services/core/java/com/android/server/pm/PreferredComponent.java
index 3732bb6a834c..c312fc0eca2f 100644
--- a/services/core/java/com/android/server/pm/PreferredComponent.java
+++ b/services/core/java/com/android/server/pm/PreferredComponent.java
@@ -254,43 +254,6 @@ public class PreferredComponent {
return numMatch == NS;
}
- public boolean sameSet(PreferredComponent pc) {
- if (mSetPackages == null || pc == null || pc.mSetPackages == null
- || !sameComponent(pc.mComponent)) {
- return false;
- }
- final int otherPackageCount = pc.mSetPackages.length;
- final int packageCount = mSetPackages.length;
- int numMatch = 0;
- for (int i = 0; i < otherPackageCount; i++) {
- boolean good = false;
- for (int j = 0; j < packageCount; j++) {
- if (mSetPackages[j].equals(pc.mSetPackages[j])
- && mSetClasses[j].equals(pc.mSetClasses[j])) {
- numMatch++;
- good = true;
- break;
- }
- }
- if (!good) {
- return false;
- }
- }
- return numMatch == packageCount;
- }
-
- /** Returns true if the preferred component represents the provided ComponentName. */
- private boolean sameComponent(ComponentName comp) {
- if (mComponent == null || comp == null) {
- return false;
- }
- if (mComponent.getPackageName().equals(comp.getPackageName())
- && mComponent.getClassName().equals(comp.getClassName())) {
- return true;
- }
- return false;
- }
-
public boolean isSuperset(List<ResolveInfo> query, boolean excludeSetupWizardPackage) {
if (mSetPackages == null) {
return query == null;
diff --git a/services/core/java/com/android/server/pm/PreferredIntentResolver.java b/services/core/java/com/android/server/pm/PreferredIntentResolver.java
index ff3df130a3cc..a261e29b05a7 100644
--- a/services/core/java/com/android/server/pm/PreferredIntentResolver.java
+++ b/services/core/java/com/android/server/pm/PreferredIntentResolver.java
@@ -22,7 +22,6 @@ import android.content.IntentFilter;
import java.io.PrintWriter;
import com.android.server.IntentResolver;
-import java.util.ArrayList;
public class PreferredIntentResolver
extends IntentResolver<PreferredActivity, PreferredActivity> {
@@ -46,24 +45,4 @@ public class PreferredIntentResolver
protected IntentFilter getIntentFilter(@NonNull PreferredActivity input) {
return input;
}
-
- public boolean shouldAddPreferredActivity(PreferredActivity pa) {
- ArrayList<PreferredActivity> pal = findFilters(pa);
- if (pal == null || pal.isEmpty()) {
- return true;
- }
- if (!pa.mPref.mAlways) {
- return false;
- }
- final int activityCount = pal.size();
- for (int i = 0; i < activityCount; i++) {
- PreferredActivity cur = pal.get(i);
- if (cur.mPref.mAlways
- && cur.mPref.mMatch == (pa.mPref.mMatch & IntentFilter.MATCH_CATEGORY_MASK)
- && cur.mPref.sameSet(pa.mPref)) {
- return false;
- }
- }
- return true;
- }
}
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 79e5b276ac64..0f5d9781c612 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -1410,7 +1410,8 @@ public final class Settings {
PreferredActivity pa = new PreferredActivity(parser);
if (pa.mPref.getParseError() == null) {
final PreferredIntentResolver resolver = editPreferredActivitiesLPw(userId);
- if (resolver.shouldAddPreferredActivity(pa)) {
+ ArrayList<PreferredActivity> pal = resolver.findFilters(pa);
+ if (pal == null || pal.size() == 0 || pa.mPref.mAlways) {
resolver.addFilter(pa);
}
} else {