Rename product_servicies to system_ext

Bug: 134359158
Test: make
Change-Id: Ibc45599efe8448a1d468a67a615a600a6b5d2218
diff --git a/contents/namespace/system.cc b/contents/namespace/system.cc
index c571054..786bbe2 100644
--- a/contents/namespace/system.cc
+++ b/contents/namespace/system.cc
@@ -25,9 +25,9 @@
   Namespace ns("system", /*is_isolated=*/false, /*is_visible=*/false);
   ns.AddSearchPath("/system/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
-  ns.AddSearchPath("/@{PRODUCT:product}/${LIB}", /*also_in_asan=*/true,
+  ns.AddSearchPath("/@{SYSTEM_EXT:system_ext}/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
-  ns.AddSearchPath("/@{PRODUCT_SERVICES}/${LIB}", /*also_in_asan=*/true,
+  ns.AddSearchPath("/@{PRODUCT:product}/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
 
   ns.CreateLink("runtime").AddSharedLib(
diff --git a/contents/namespace/systemdefault.cc b/contents/namespace/systemdefault.cc
index b3e5f39..8dfc18c 100644
--- a/contents/namespace/systemdefault.cc
+++ b/contents/namespace/systemdefault.cc
@@ -34,17 +34,16 @@
 
 const std::vector<std::string> kPermittedPaths = {
     "/system/${LIB}/drm", "/system/${LIB}/extractors", "/system/${LIB}/hw",
-    "/@{PRODUCT:product}/${LIB}", "/@{PRODUCT_SERVICES:product_services}/${LIB}",
+    "/@{SYSTEM_EXT:system_ext}/${LIB}", "/@{PRODUCT:product}/${LIB}",
     // These are where odex files are located. libart has to be able to
     // dlopen the files
-    "/system/framework", "/system/app", "/system/priv-app", "/vendor/framework",
-    "/vendor/app", "/vendor/priv-app", "/system/vendor/framework",
-    "/system/vendor/app", "/system/vendor/priv-app", "/odm/framework",
-    "/odm/app", "/odm/priv-app", "/oem/app", "/@{PRODUCT:product}/framework",
-    "/@{PRODUCT:product}/app", "/@{PRODUCT:product}/priv-app",
-    "/@{PRODUCT_SERVICES:product_services}/framework",
-    "/@{PRODUCT_SERVICES:product_services}/app",
-    "/@{PRODUCT_SERVICES:product_services}/priv-app", "/data", "/mnt/expand",
+    "/system/framework", "/system/app", "/system/priv-app",
+    "/@{SYSTEM_EXT:system_ext}/framework", "/@{SYSTEM_EXT:system_ext}/app",
+    "/@{SYSTEM_EXT:system_ext}/priv-app", "/vendor/framework", "/vendor/app",
+    "/vendor/priv-app", "/system/vendor/framework", "/system/vendor/app",
+    "/system/vendor/priv-app", "/odm/framework", "/odm/app", "/odm/priv-app",
+    "/oem/app", "/@{PRODUCT:product}/framework", "/@{PRODUCT:product}/app",
+    "/@{PRODUCT:product}/priv-app", "/data", "/mnt/expand",
     "/apex/com.android.runtime/${LIB}/bionic", "/system/${LIB}/bootstrap"};
 
 void BuildPermittedPath(Namespace& ns) {
@@ -64,6 +63,8 @@
 
   ns.AddSearchPath("/system/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
+  ns.AddSearchPath("/@{SYSTEM_EXT:system_ext}/${LIB}",
+                   /*also_in_asan=*/true, /*with_data_asan=*/true);
   ns.AddSearchPath("/@{PRODUCT:product}/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
   if (is_legacy) {
@@ -71,9 +72,6 @@
                      /*with_data_asan=*/true);
     ns.AddSearchPath("/odm/${LIB}", /*also_in_asan=*/true,
                      /*with_data_asan=*/true);
-  } else {
-    ns.AddSearchPath("/@{PRODUCT_SERVICES:product_services}/${LIB}",
-                     /*also_in_asan=*/true, /*with_data_asan=*/true);
   }
 
   if (!is_legacy) {
diff --git a/contents/namespace/vndkinsystem.cc b/contents/namespace/vndkinsystem.cc
index 2538c67..bddf76b 100644
--- a/contents/namespace/vndkinsystem.cc
+++ b/contents/namespace/vndkinsystem.cc
@@ -29,10 +29,10 @@
 
   ns.AddSearchPath("/system/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
+  ns.AddSearchPath("/@{SYSTEM_EXT:system_ext}/${LIB}",
+                   /*also_in_asan=*/true, /*with_data_asan=*/true);
   ns.AddSearchPath("/@{PRODUCT:product}/${LIB}", /*also_in_asan=*/true,
                    /*with_data_asan=*/true);
-  ns.AddSearchPath("/@{PRODUCT_SERVICES:product_services}/${LIB}",
-                   /*also_in_asan=*/true, /*with_data_asan=*/true);
 
   if (android::linkerconfig::modules::IsVndkInSystemNamespace()) {
     ns.AddWhitelisted("@{VNDK_USING_CORE_VARIANT_LIBRARIES}");
diff --git a/contents/tests/backward_compatibility/testbase.h b/contents/tests/backward_compatibility/testbase.h
index c21c01b..affbc30 100644
--- a/contents/tests/backward_compatibility/testbase.h
+++ b/contents/tests/backward_compatibility/testbase.h
@@ -20,8 +20,8 @@
 inline void MockVariables(std::string vndk_ver = "Q") {
   android::linkerconfig::modules::Variables::AddValue("VNDK_VER", vndk_ver);
   android::linkerconfig::modules::Variables::AddValue("PRODUCT", "product");
-  android::linkerconfig::modules::Variables::AddValue("PRODUCT_SERVICES",
-                                                      "product_services");
+  android::linkerconfig::modules::Variables::AddValue("SYSTEM_EXT",
+                                                      "system_ext");
   android::linkerconfig::modules::Variables::AddValue("LLNDK_LIBRARIES",
                                                       "llndk_libraries");
   android::linkerconfig::modules::Variables::AddValue(
diff --git a/generator/include/linkerconfig/configs.h b/generator/include/linkerconfig/configs.h
index b8f7870..4fb0b75 100644
--- a/generator/include/linkerconfig/configs.h
+++ b/generator/include/linkerconfig/configs.h
@@ -22,7 +22,7 @@
 
 inline const std::map<std::string, std::string> kPredefinedConfigs = {
     {"PRODUCT", "product"},
-    {"PRODUCT_SERVICES", "product_services"},
+    {"SYSTEM_EXT", "system_ext"},
     {"LLNDK_LIBRARIES",
      "libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_"
      "net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:"