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:"
