From 32677ae8f3c93d29ac9ed94be26f8368c0dec0da Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Fri, 19 Apr 2024 19:07:52 +0000 Subject: [PATCH] Only write appcompat properties if flag is defined Only writes the appcompat properties if the WRITE_APPCOMPAT_OVERRIDE_SYSTEM_PROPERTIES cflag is defined Fixes: 331307495 Test: manual (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f04f6bae4314e01111045ba231010ba7067477a0) Merged-In: Ie99b5027a9704c0f4f7fe4d3a6a6cf49f4bb8176 Change-Id: Ie99b5027a9704c0f4f7fe4d3a6a6cf49f4bb8176 --- init/Android.bp | 4 ++++ init/property_service.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/init/Android.bp b/init/Android.bp index 6d63e41e2..c4e74d068 100644 --- a/init/Android.bp +++ b/init/Android.bp @@ -96,6 +96,7 @@ soong_config_module_type { config_namespace: "ANDROID", bool_variables: [ "PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT", + "release_write_appcompat_override_system_properties", ], properties: [ "cflags", @@ -159,6 +160,9 @@ libinit_cc_defaults { "-DINSTALL_DEBUG_POLICY_TO_SYSTEM_EXT=1", ], }, + release_write_appcompat_override_system_properties: { + cflags: ["-DWRITE_APPCOMPAT_OVERRIDE_SYSTEM_PROPERTIES"], + } }, static_libs: [ "libavb", diff --git a/init/property_service.cpp b/init/property_service.cpp index 58a0a7faa..5a1b63b2e 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp @@ -1308,12 +1308,14 @@ void CreateSerializedPropertyInfo() { } selinux_android_restorecon(PROP_TREE_FILE, 0); +#ifdef WRITE_APPCOMPAT_OVERRIDE_SYSTEM_PROPERTIES mkdir(APPCOMPAT_OVERRIDE_PROP_FOLDERNAME, S_IRWXU | S_IXGRP | S_IXOTH); if (!WriteStringToFile(serialized_contexts, APPCOMPAT_OVERRIDE_PROP_TREE_FILE, 0444, 0, 0, false)) { PLOG(ERROR) << "Unable to write appcompat override property infos to file"; } selinux_android_restorecon(APPCOMPAT_OVERRIDE_PROP_TREE_FILE, 0); +#endif } static void ExportKernelBootProps() {